在嵌套字典/列表中传输值

时间:2017-10-28 19:13:34

标签: python list dictionary nested nested-lists

list = [[1, 2, 3, 0, 0], [0, 0, 3, 2, 1], [1, 0, 0, 3, 2], 
        [2, 3, 1, 0, 0], [3, 0, 1, 2, 0], [2, 0, 1, 3, 0]]

我想检查数字1是否在所有嵌套列表的第三列中,如果它应该将1替换为0,将该列表中的2替换为1。

提前致谢

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

nested_lists = [[1, 2, 3, 0, 0], [0, 0, 3, 2, 1], [1, 0, 0, 3, 2], 
                [2, 3, 1, 0, 0], [3, 0, 1, 2, 0], [2, 0, 1, 3, 0]]

for list_ in nested_lists:

    if list_[2] == 1:

        list_[2] = 0
        list_    = [1 if n == 2 else n for n in list_]

执行后,nested_lists来自给定的

[[1, 2, 3, 0, 0], [0, 0, 3, 2, 1], [1, 0, 0, 3, 2], 
 [2, 3, 1, 0, 0], [3, 0, 1, 2, 0], [2, 0, 1, 3, 0]]

[[1, 2, 3, 0, 0], [0, 0, 3, 2, 1], [1, 0, 0, 3, 2]
 [1, 3, 0, 0, 0], [3, 0, 0, 1, 0], [1, 0, 0, 3, 0]]