好吧,所以我有两个看起来像这样的列表
listx = [2, 4, 5, 9, 11]
listy = [3, 5, 9, 12, 14]
现在,当我拉链时,我得到了这个
listz = zip(listx, listy)
listz = [(2,3), (4,5), (5,9), (9, 12), (11,14)]
有没有办法让这个列表而不是数组,如此
listz = [[2,3], [4,5], [5,9], [9,12], [11,14]]
谢谢!
答案 0 :(得分:6)
你可以使用理解:
listz = [list(i) for i in zip(listx, listy)]
或生成器表达式:
listz = (list(i) for i in zip(listx, listy))
答案 1 :(得分:5)
使用map
将元组转换为列表。
map(list, zip(listx, listy))
答案 2 :(得分:2)
使用列表推导,并使用izip
来避免创建中间列表。
import itertools
listz = [list(z) for z in itertools.izip(listx, listy)]
答案 3 :(得分:0)
>>> from itertools import izip, imap
>>> listx = [2, 4, 5, 9, 11]
>>> listy = [3, 5, 9, 12, 14]
>>> listz = list(imap(list, izip(listx, listy)))
>>> listz
[[2, 3], [4, 5], [5, 9], [9, 12], [11, 14]]