获取列表列表,迭代列表列表

时间:2018-10-15 00:56:43

标签: python python-3.x list

我有一个这样的列表列表,

big_list = [[1,3,5], [1,2,5], [9,3,5]]

sec_list = [1,3,5]

我想遍历big_list并对照sec_list检查每个列表值。在检查时,我想将不匹配的值存储到另一个列表中。所以,我这样做了:

sma_list = []
for each in big_list:
    for i,j in zip(each, sec_list):
        if i!=j:
            sma_list.append(i)

我得到这样的结果:

[2, 9]

但是,我需要一个这样的列表列表,

[[2], [9]]

我该如何实现?

1 个答案:

答案 0 :(得分:4)

简短回答,

sma_list.append([i])

将值括在方括号中使其成为一个元素列表中的第一个元素。

仅当每个列表中缺少一个元素时,此方法才能正常工作。对于整个事情,您最好使用一种理解:

sma_list = [[i for i, j in zip(each, sec_list) if i != j] for each in big_list]