我对python有点新鲜。
如何合并两个列表(两个字符串)并在python中相应地加入它们?
给出以下输入:
lista=['1','2','3']
listb=['a','b','c']
我想要以下输出:
['1|a','2|b','3|c']
答案 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))