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

标签 python list for-loop

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

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

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/

相关文章:

python - 在python中查找嵌套列表内外的重复项

c++ - 在基于范围的 for 循环中使用转发引用有什么好处?

python - 列表中的嵌套字典

java - 无法获取环境,+ java.lang.ExceptionInInitializerError,Traceback IOError : File not found -

python - Airflow ExternalTask​​Sensor 卡住了

c# - 指向 PointCollection 的字符串

Python Pandas Concat "WHERE"满足条件

c# - 拆分列表的元素并仅从拆分中检索第一部分

用于状态条件的 PHP 数组组

python - 矩阵向量差的有效元素级argmin