首页 > 解决方案 > 获取未存储在另一个列表中的嵌套列表

问题描述

我有一个看起来像这样的输入列表

input_list = ["a", "b2","d"]

和另一个看起来像这样的列表

ref_list = [['a'], ['b1', 'b2', 'b3'], ['c1', 'c2', 'c3', 'c4'], ['d']]

我想要做的是从 input_list 中获取 ref_list 中不存在的值列表所以,基于这些值的结果应该是

[['c1', 'c2', 'c3', 'c4']]

起初,我的情况只有类似

input_list = ["a","b","d"]
ref_list = ["a","b","c","d"]

我可以使用

missing_value = list(set(ref_list) - set(input_list))

这将提取这样的结果

["c"]

但是对于每个索引是一个包含单个或多个值的列表的 ref_list 的情况。有没有一种简单的方法来实现缺失值?

标签: pythonlist

解决方案


您可以将all其与嵌套列表理解一起使用

input_list = ["a", "b2","d"]

ref_list = [['a'], ['b1', 'b2', 'b3'], ['c1', 'c2', 'c3', 'c4'], ['d']]


res = [i for i in ref_list if all(j not in i for j in input_list)]

print(res)

输出

[['c1', 'c2', 'c3', 'c4']]

推荐阅读