我有一个像这样的列表,
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]]
我怎样才能做到这一点?
简短的回答,
sma_list.append([i])
将值括在方括号中使其成为单个元素列表的第一个元素。
只有每个列表中缺少一个元素时,这才能正常工作。对整个事情使用理解你会好得多:
sma_list = [[i for i, j in zip(each, sec_list) if i != j] for each in big_list]