1

我有两个需要合并的列表,但我看到的正常合并问题似乎没有帮助。

l1 = (0,1,2,3)
l2 = ('A','B','C','D')

我需要它成为

((0,'A'), (2,'B'), (3,'C'))
4

3 回答 3

8
>>> A = ('0','1','2','3')
>>> B = ('A','B','C','D')
>>> [x + y for x, y in zip(A, B)]
['0A', '1B', '2C', '3D']

对于任意数量的列表

>>> lists = (A, B)
>>> [''.join(x) for x in zip(*lists)]
['0A', '1B', '2C', '3D']
于 2013-05-22T05:21:50.797 回答
2

如果你想得到一个字符串列表:

[ '%s%s' % (x,y) for x,y in zip(list1, list2) ]
=> ['0A', '1B', '2C', '3D']

此外,如果list1is [0,1,2,3,...],您可以enumerate改用:

[ '%s%s' % (i,y) for i,y in enumerate(list2) ]
于 2013-05-22T05:20:54.797 回答
1
In [4]: tuple(("%s%s" % (a, b) for a, b in zip((1,2,3),('a','b','c'))))
Out[4]: ('1a', '2b', '3c')

前段时间,我刚刚浏览了一堆 Python 官方文档,包括内置函数。它不像你通常的编程手册那么枯燥。

于 2013-05-22T05:20:26.837 回答