合并两个列表并相应地使用python中的分隔符连接它们

时间:2012-04-11 19:36:41

标签: python list

我对python有点新鲜。

如何合并两个列表(两个字符串)并在python中相应地加入它们?

给出以下输入:

lista=['1','2','3']
listb=['a','b','c']

我想要以下输出:

['1|a','2|b','3|c']

4 个答案:

答案 0 :(得分:10)

假设你真的打算使用字符串,这应该有效:

>>> lista=[1,2,3]
>>> listb=['a','b','c']
>>> ["%s|%s" % (a,b) for a,b in zip(lista, listb)]
['1|a', '2|b', '3|c']

答案 1 :(得分:3)

这仅适用于两个列表都包含字符串的情况。否则,请使用其中一种格式化字符串解决方案(例如%s|%s)。

map('|'.join, zip(lista, listb))

答案 2 :(得分:2)

列表推导通常更具可读性,但是对于任意数量的列表来说,连接操作是使这个量表更加愉快的最好的方法,并且读取得很好,所以我还将其他答案合并在一起:

>>>lista=['1','2','3']
>>>listb=['a','b','c']
>>>["|".join(items) for items in zip(lista, listb)]
['1|a', '2|b', '3|c']

答案 3 :(得分:1)

可能比

更优雅
map(lambda(x,y): "%s|%s" % (x,y), zip(lista, listb))