Vai*_*hek 219 python tuples list-comprehension list
可能重复:
Python中的转置/解压缩功能
我有一个元组列表,我想将这个列表解压缩到两个独立的列表中.我正在寻找Python中的一些标准化操作.
>>> l = [(1,2), (3,4), (8,9)]
>>> f_xxx (l)
[ [1, 3, 8], [2, 4, 9] ]
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种简洁和pythonic的方法来实现这一目标.
基本上,我正在寻找zip()
函数的逆运算.
Mar*_*ers 378
用途zip(*list)
:
>>> l = [(1,2), (3,4), (8,9)]
>>> list(zip(*l))
[(1, 3, 8), (2, 4, 9)]
Run Code Online (Sandbox Code Playgroud)
该zip()
功能对向上从所有输入的元件,从所述第一值,则第二等.通过使用*l
你申请的所有元组中l
作为单独的参数的zip()
函数,所以zip()
对向上1
与3
与8
第一,然后2
用4
和9
.那些恰好与列或者转置相对应l
.
zip()
产生元组; 如果你必须有可变列表对象,只map()
需要列出的元组或使用列表推导来生成列表列表:
map(list, zip(*l)) # keep it a generator
[list(t) for t in zip(*l)] # consume the zip generator into a list of lists
Run Code Online (Sandbox Code Playgroud)
小智 82
如果需要列表列表:
>>> [list(t) for t in zip(*l)]
[[1, 3, 8], [2, 4, 9]]
Run Code Online (Sandbox Code Playgroud)
如果元组列表没问题:
>>> zip(*l)
[(1, 3, 8), (2, 4, 9)]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
170593 次 |
最近记录: |