将相同的字符串附加到 Python 中的字符串列表

新手上路,请多包涵

我试图获取一个字符串,并将其附加到列表中包含的每个字符串,然后有一个包含完整字符串的新列表。例子:

 list1 = ['foo', 'fob', 'faz', 'funk']
string = 'bar'

*magic*

list2 = ['foobar', 'fobbar', 'fazbar', 'funkbar']

我尝试了循环,并尝试了列表理解,但它是垃圾。一如既往,任何帮助,非常感谢。

原文由 Kevin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 285
2 个回答

最简单的方法是使用列表理解:

 [s + mystring for s in mylist]

请注意,我避免使用像 list 这样的内置名称,因为这会遮蔽或隐藏内置名称,这非常不好。

此外,如果您实际上不需要列表,而只需要一个迭代器,则生成器表达式会更有效(尽管它对短列表可能无关紧要):

 (s + mystring for s in mylist)

这些功能非常强大、灵活且简洁。每个优秀的 Python 程序员都应该学会使用它们。

原文由 gahooa 发布,翻译遵循 CC BY-SA 2.5 许可协议

my_list = ['foo', 'fob', 'faz', 'funk']
string = 'bar'
my_new_list = [x + string for x in my_list]
print my_new_list

这将打印:

 ['foobar', 'fobbar', 'fazbar', 'funkbar']

原文由 Tendayi Mawushe 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题