我有一个包含许多列表的列表,其中有 4 个元组。
my_list = [[(12, 1), (10, 3), (4, 0), (2, 0)],
[(110, 1), (34, 2), (12, 1), (55, 3)]]
Run Code Online (Sandbox Code Playgroud)
我希望它们在两个单独的列表中,例如:
my_list2 = [12,10,4,2,110,34,12,55]
my_list3 = [1,3,0,0,1,2,1,3]
Run Code Online (Sandbox Code Playgroud)
我的尝试是为此使用该map功能。
my_list2 , my_list3 = map(list, zip(*my_list))
Run Code Online (Sandbox Code Playgroud)
但这给了我一个错误:
ValueError: too many values to unpack (expected 2)
Run Code Online (Sandbox Code Playgroud)
yat*_*atu 10
您的方法非常接近,但您需要先变平:
from itertools import chain
my_list = [[(12, 1), (10, 3), (4, 0), (2, 0)], [(110, 1), (34, 2), (12, 1), (55, 3)]]
my_list2 , my_list3 = map(list,zip(*chain.from_iterable(my_list)))
my_list2
# [12, 10, 4, 2, 110, 34, 12, 55]
my_list3
# [1, 3, 0, 0, 1, 2, 1, 3]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
318 次 |
| 最近记录: |