Inserting a String into a List Without Getting Split into Characters
I'm New to Python and Can't Find a Way to Insert a String into a List Without It Getting Split into Individual Characters: >>> List=['Hello','World'] >>> List...
I'm new to Python and can't find a way to insert a string into a list without it getting split into individual characters:
>>> list=['hello','world']
>>> list
['hello', 'world']
>>> list[:0]='foo'
>>> list
['f', 'o', 'o', 'hello', 'world']
What should I do to have:
['foo', 'hello', 'world']
Searched the docs and the Web, but it has not been my day.
9 Answers
To add to the end of the list:
list.append('foo')
To insert at the beginning:
list.insert(0, 'foo')
Sticking to the method you are using to insert it, use
list[:0] = ['foo']
Another option is using the overloaded + operator:
>>> l = ['hello','world']
>>> l = ['foo'] + l
>>> l
['foo', 'hello', 'world']
best put brackets around foo, and use +=
list+=['foo']
>>> li = ['aaa', 'bbb']
>>> li.insert(0, 'wow!')
>>> li
['wow!', 'aaa', 'bbb']
Don't use list as a variable name. It's a built in that you are masking.
To insert, use the insert function of lists.
l = ['hello','world']
l.insert(0, 'foo')
print l
['foo', 'hello', 'world']
You have to add another list:
list[:0]=['foo']
ls=['hello','world']
ls.append('python')
['hello', 'world', 'python']
or (use insert function where you can use index position in list)
ls.insert(0,'python')
print(ls)
['python', 'hello', 'world']
I suggest to add the '+' operator as follows:
list = list + ['foo']
Hope it helps!