有没有方法将列表列表压缩?
好的,我有两个列表,它们看起来是这样的
listx = [2, 4, 5, 9, 11]
listy = [3, 5, 9, 12, 14]
现在,当我使用zip这个功能时,我得到的是这个
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]]
谢谢!
4 个回答
2
使用列表推导式,并且用 izip
来避免创建一个中间的列表。
import itertools
listz = [list(z) for z in itertools.izip(listx, listy)]
8
使用 map
函数可以把元组转换成列表。
map(list, zip(listx, listy))
10
你可以使用一种叫做“推导式”的方法:
listz = [list(i) for i in zip(listx, listy)]
或者使用生成器表达式:
listz = (list(i) for i in zip(listx, listy))