gpt4 book ai didi

python - 遍历列表的列表列表和元组列表

转载 作者:太空宇宙 更新时间:2023-11-04 10:16:36 25 4
gpt4 key购买 nike

我正在尝试同时遍历列表列表和元组列表,用元组列表中的值替换列表列表中的某些值。

到目前为止,这是我的代码:

tups = [(1,2,3),(4,5,6),(9,8,7)]

lsts = [[[1, 0, 1], [2, 3, 1, 0], [1, 1, 1, 1, 10, 0]], \
[[1, 0, 1], [2, 3, 1, 0], [1, 1, 1, 1, 10, 0]], \
[[1, 0, 1], [2, 3, 1, 0], [1, 1, 1, 1, 10, 0]]]


for index1, aitem in enumerate(tups):
for index2, a in enumerate(aitem):
for index3, mega_item in enumerate(lsts):
for index4, bitem in enumerate(mega_item):
for index5, b in enumerate(item):
if i == 0:
lsts[index3][index4][index5] = a
break
else:
continue
break
else:
continue
break
else:
continue
break

我希望我的解决方案生成 lsts,其中 0 被 tups 中的值按如下顺序替换:

lsts = [[[1, 1, 1], [2, 3, 1, 2], [1, 1, 1, 1, 10, 3]], \
[[1, 4, 1], [2, 3, 1, 5], [1, 1, 1, 1, 10, 6]], \
[[1, 9, 1], [2, 3, 1, 8], [1, 1, 1, 1, 10, 7]]]

但是,我现在的结果是:

lsts = [[[1, 1, 1], [2, 3, 1, 2], [1, 1, 1, 1, 10, 3]], \
[[1, 1, 1], [2, 3, 1, 2], [1, 1, 1, 1, 10, 3]], \
[[1, 1, 1], [2, 3, 1, 2], [1, 1, 1, 1, 10, 3]]]

我相信我的循环可能只会迭代我的元组列表中的第一项。

我该如何解决这个问题?

最佳答案

这应该有效:

for inner_lst,inner_tup in zip(lsts,tups):
for ind,depth in enumerate(inner_lst):
depth[depth.index(0)]= inner_tup[ind]

print lsts

输出:

[[[1, 1, 1], [2, 3, 1, 2], [1, 1, 1, 1, 10, 3]], 
[[1, 4, 1], [2, 3, 1, 5], [1, 1, 1, 1, 10, 6]],
[[1, 9, 1], [2, 3, 1, 8], [1, 1, 1, 1, 10, 7]]]

关于python - 遍历列表的列表列表和元组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35062368/

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