我想知道最符合Python风格的方法来实现以下内容,并使其正常工作:
strings = ['a','b']
for s in strings:
s = s+'c'
显然这种方法在Python中行不通,但我想要达到的结果是:
strings = ['ac','bc']
最符合Python风格的实现方式是什么?
感谢您提供的好答案!
我想知道最符合Python风格的方法来实现以下内容,并使其正常工作:
strings = ['a','b']
for s in strings:
s = s+'c'
显然这种方法在Python中行不通,但我想要达到的结果是:
strings = ['ac','bc']
最符合Python风格的实现方式是什么?
感谢您提供的好答案!
strings = ['a', 'b']
strings = [s + 'c' for s in strings]
您可以使用列表推导式创建一个包含以下值的列表:[s + 'c' for s in strings]
。您可以像这样就地修改列表:
for i, s in enumerate(strings):
strings[i] = s + 'c'
但我发现,很多时候不需要进行原地修改。看看你的代码,看看是否适用。
strings = ['a', 'b']
strings = map(lambda s: s + 'c', strings)
map
的返回值。 - robert
strings[:] = ..
更改现有列表 - Jochen Ritzel