我想把两个列表合并成一个二维列表。
list1=["Peter", "Mark", "John"]
list2=[1,2,3]
进入
list3=[["Peter",1],["Mark",2],["John",3]]
list3 = [list(a) for a in zip(list1, list2)]
一种替代方案:
>>> map(list,zip(list1,list2))
[['Peter', 1], ['Mark', 2], ['John', 3]]
或者在 Python3 中:
>>> list(map(list,zip(list1,list2)))
[['Peter', 1], ['Mark', 2], ['John', 3]]
我实际上使用了:
list3a = np.concatenate((list1, list2))
list3 = np.reshape(list3a, (-1,2))
因为否则在尝试引用数组时会出现错误:“列表索引必须是整数,而不是元组”。
zip()
函数同步迭代两个列表,你将会同时获取a
和b
。这两个值会作为一个元素创建一个新的列表,并作为最终列表list3
的一个元素。
list3 = [[a, b] for a, b in zip(list1, list2)]