我有一个这样的列表列表,
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]]
我该如何实现?
答案 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]