我对python有点陌生。
我如何合并两个列表(两个字符串)并在 python 中相应地加入它们?
给定以下输入:
lista=['1','2','3']
listb=['a','b','c']
我想要以下输出:
['1|a','2|b','3|c']
假设您实际上打算使用字符串,这应该有效:
>>> 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']
这仅在您的两个列表都包含字符串时才有效。否则,请使用其中一种格式化字符串解决方案(例如%s|%s
)。
map('|'.join, zip(lista, listb))
列表推导通常更具可读性,但连接操作是让这个比例适合任意数量的列表的最好方法,并且读起来很好,所以我也会提出其他答案的合并:
>>>lista=['1','2','3']
>>>listb=['a','b','c']
>>>["|".join(items) for items in zip(lista, listb)]
['1|a', '2|b', '3|c']
可能有比这更优雅的东西
map(lambda(x,y): "%s|%s" % (x,y), zip(lista, listb))