我尝试获取一个字符串,并将其附加到列表中包含的每个字符串,然后创建一个包含完整字符串的新列表。示例:
list1 = ['foo', 'fob', 'faz', 'funk']
string = 'bar'
*magic*
list2 = ['foobar', 'fobbar', 'fazbar', 'funkbar']
我尝试过循环,也尝试过列表理解,但都是垃圾。一如既往,任何帮助,非常感谢。
发布于 2010-01-13 00:51:21
要做到这一点,最简单的方法是列表理解:
[s + mystring for s in mylist]
请注意,我避免使用像list
这样的内置名称,因为那样会隐藏或隐藏内置名称,这非常不好。
此外,如果您实际上不需要列表,但只需要一个迭代器,那么生成器表达式可能会更有效(尽管这在短列表中可能并不重要):
(s + mystring for s in mylist)
这些都是非常强大、灵活和简洁的。每一个优秀的python程序员都应该学会使用它们。
发布于 2010-01-13 00:59:06
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']
发布于 2013-10-08 01:08:16
在我看来,map
似乎是适合这项工作的工具。
my_list = ['foo', 'fob', 'faz', 'funk']
string = 'bar'
list2 = list(map(lambda orig_string: orig_string + string, my_list))
有关map
的更多示例,请参阅函数式编程工具上的this section。
https://stackoverflow.com/questions/2050637
复制相似问题