将两个列表合并为一个多维列表。

11
我想把两个列表合并成一个二维列表。
list1=["Peter", "Mark", "John"]
list2=[1,2,3]

进入

list3=[["Peter",1],["Mark",2],["John",3]]
4个回答

27
list3 = [list(a) for a in zip(list1, list2)]

4

一种替代方案:

>>> map(list,zip(list1,list2))
[['Peter', 1], ['Mark', 2], ['John', 3]]

或者在 Python3 中:

>>> list(map(list,zip(list1,list2)))
[['Peter', 1], ['Mark', 2], ['John', 3]]

(在大多数情况下,您可以省略外部list()-cast)

0

我实际上使用了:

list3a = np.concatenate((list1, list2))
list3 = np.reshape(list3a, (-1,2))

因为否则在尝试引用数组时会出现错误:“列表索引必须是整数,而不是元组”。


0

zip()函数同步迭代两个列表,你将会同时获取ab。这两个值会作为一个元素创建一个新的列表,并作为最终列表list3的一个元素。

list3 = [[a, b] for a, b in zip(list1, list2)]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接