How to manipulate elements of a list in a single line of code?
mrstevegross at gmail.com
Mon Feb 25 22:39:26 CET 2008
I would like to translate the contents of a list. For instance, let's
say I've got a list of strings and I want to append "foo" to each
element. I might do the following;
list1 = ['a', 'b', 'c']
for i in range(0, len(list1)): list1[i] += 'foo'
Ok, that much works. But what if I don't want to modify the contents
of list1. Instead, I want list2 to hold the modified contents, like
1 list1 = ['a', 'b', 'c']
2 list2 = 
3 for item in list1: list2.append(item + 'foo')
Is there a way to express lines 2-3 sort-of ilke this:
list2 = [ for item in list1: item + 'foo' ]
More information about the Python-list