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 ['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') 
1

Sticking to the method you are using to insert it, use

list[:0] = ['foo'] 

1

Another option is using the overloaded + operator:

>>> l = ['hello','world'] >>> l = ['foo'] + l >>> l ['foo', 'hello', 'world'] 
1

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'] 
2

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'] 
0

I suggest to add the '+' operator as follows:

list = list + ['foo']

Hope it helps!

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like