単一のネストされたリストの要素を圧縮する方法

javadb:

ネストされたリストを考えてみます。

d = [[1,2,3],[4,5,6]]                                                                                                                                                                                                                                                  

私がしたいzip、この結果について、その要素:

 [[1,4],[2,5],[3,6]]

どうやってするか?間違ったアプローチがあります

list(zip(d))

しかし、それは与えます:

[([1, 2, 3],), ([4, 5, 6],)]

行うための正しい方法は何ですかzip

ティム:

あなたは(開梱を経由して、単一のサブリストを与える必要があり*、このようなジップ()への単一の引数として):

d = [[1,2,3],[4,5,6]]          
zip(*d)  # You need this one
[(1, 4), (2, 5), (3, 6)]

これは、場合であっても、これはあなたが望む行動があり、長いリストのために動作します。

zip(*[[1,2,3],[4,5,6],[7,8,9]])
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

あなたの代わりにタプルのリストのリストのリストを持っているしたい場合は、ちょうどこの操作を行います。

map(list, zip(*d))
[[1, 4], [2, 5], [3, 6]]

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=8319&siteId=1