gpt4 book ai didi

python - 将 2 个列表列表合并为元组列表

转载 作者:行者123 更新时间:2023-12-01 01:29:17 26 4
gpt4 key购买 nike

我正在尝试将不同的嵌套列表组合成元组列表 (x,y)其中 x 来自第一个嵌套列表,y 来自第二个嵌套列表。

nested_list1 = [[1, 2, 3],[3],[0, 3],[1]]
nested_list2 = [[.0833, .0833, .0833], [.2], [.175, .175], [.2]]

当你组合它们时,它应该是:

result = [(1,.0833), (2,.0833), (3,.0833), (3,.2), (0,.175), (3,.175), (1,.2)]

我的方法是,我需要遍历列表列表并一次将它们加入 1 个。我知道要像这样迭代 1 个嵌套列表:

for list in nested_list1:
for number in list:
print(number)

但我无法同时迭代 2 个嵌套列表。

for list, list in zip(nested_list1, nested_list2):
for number, prob in zip(list,list):
print(tuple(number, prob)) #will not work

有什么想法吗?

最佳答案

你可以做一个双 zip通过列表:

lst1 = [[1, 2, 3],[3],[0, 3],[1]]
lst2 = [[.0833, .0833, .0833], [.2], [.175, .175], [.2]]

print([(u, v) for x, y in zip(lst1, lst2) for u, v in zip(x, y)])

或者使用itertools.chain.from_iterable展平列表和zip:

from itertools import chain

lst1 = [[1, 2, 3],[3],[0, 3],[1]]
lst2 = [[.0833, .0833, .0833], [.2], [.175, .175], [.2]]

print(list(zip(chain.from_iterable(lst1), chain.from_iterable(lst2))))

关于python - 将 2 个列表列表合并为元组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53049121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com