我尝试取一个字符串,并将其附加到列表包含的每个字符串,然后得到一个包含完整字符串的新列表。示例:
list1 = ['foo', 'fob', 'faz', 'funk'] string = 'bar' *magic* list2 = ['foobar', 'fobbar', 'fazbar', 'funkbar']
我尝试了 for 循环,并尝试了列表理解,但结果很糟糕。一如既往,任何帮助,我都非常感谢。
下面说明如何将字符串附加'bar'到中的每个元素list1:
'bar'
list1
list1 = ['foo', 'fob', 'faz', 'funk'] string = 'bar' list2 = [item + string for item in list1] print(list2)
['foobar', 'fobbar', 'fazbar', 'funkbar']
[item + string for item in list1]
list2
最简单的方式是使用列表推导:
[s + mystring for s in mylist]
请注意,我避免使用内置名称,list因为这会遮蔽或隐藏内置名称,这非常不好。
list
另外,如果您实际上不需要列表,而只需要迭代器,则生成器表达式会更高效(尽管它在短列表上可能并不重要):
(s + mystring for s in mylist)
它们非常强大、灵活且简洁。每个优秀的 Python 程序员都应该学会使用它们。