组合两个字符串列表

2024-04-28 22:27:55 发布

您现在位置:Python中文网/ 问答频道 /正文

希望合并包含字符串元素的两个列表变量。例如,如果我有以下内容:

mystring1 = ['Luke', 'Han']
mystring2 = ['Skywalker', 'Solo']

我希望将它们组合成:

^{pr2}$

我肯定我错过了一些简单的事情。任何指导都太好了!在


Tags: 字符串元素列表事情solo指导lukeskywalker
3条回答

只需使用^{},然后连接字符串。在

显然,只有当有两个字符串需要连接时,这才有效。如果还有更多,那么使用str.join,就像其他一些答案建议的那样。但是对于2个字符串,concat方法更具可读性。在

>>> mystring1 = ['Luke', 'Han']
>>> mystring2 = ['Skywalker', 'Solo']
>>> 
>>> [s1 + s2 for s1, s2 in zip(mystring1, mystring2)]
['LukeSkywalker', 'HanSolo']

zip在每次迭代中从传递给它的每个iterable中获取一个元素,并返回这些元素的元组。zip操作的中间结果如下所示

^{pr2}$

以下措施应该有效:

>>> mystring1 = ['Luke', 'Han']
>>> mystring2 = ['Skywalker', 'Solo']
>>> list(map(''.join, zip(mystring1, mystring2)))
['LukeSkywalker', 'HanSolo']
>>> 

只需map这两个列表str.__add__

list(map(str.__add__, mystring1, mystring2))

该输出:

^{pr2}$

另外,如果要一次组合两个以上的字符串列表,可以执行以下操作:

mystring1 = ['Luke', 'Han']
mystring2 = ['Skywalker', 'Solo']
mystring3 = ['Hero', 'Sidekick']
from functools import partial, reduce
print(list(reduce(partial(map, str.__add__), (mystring1, mystring2, mystring3))))

该输出:

['LukeSkywalkerHero', 'HanSoloSidekick']

相关问题 更多 >