Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何比较两个列表并通过列表中的单个元素删除重复项_Python_List_List Comprehension - Fatal编程技术网

Python 如何比较两个列表并通过列表中的单个元素删除重复项

Python 如何比较两个列表并通过列表中的单个元素删除重复项,python,list,list-comprehension,Python,List,List Comprehension,如果您有两个列表,并且您希望从一个列表中删除列表,而这些列表在另一个列表中具有与列表匹配的元素,您如何实现这一点 说你有 a = [[a,b,c],[d,e,f]] b = [[g,h,i],[k,l,m],[n,o,c]] 如何对照a中每个列表中的第三个元素检查b中每个列表中的第三个元素,如果存在匹配项,则从b中删除包含该匹配项的列表 这里期望的最终结果是 b = [[g,h,i],[k,l,m]] 因为c是a列表中的第三个元素,也是b列表中的第三个元素,所以b中的列表被删除 我试过了 c

如果您有两个列表,并且您希望从一个列表中删除列表,而这些列表在另一个列表中具有与列表匹配的元素,您如何实现这一点

说你有

a = [[a,b,c],[d,e,f]]
b = [[g,h,i],[k,l,m],[n,o,c]]
如何对照a中每个列表中的第三个元素检查b中每个列表中的第三个元素,如果存在匹配项,则从b中删除包含该匹配项的列表

这里期望的最终结果是

b = [[g,h,i],[k,l,m]]
因为c是a列表中的第三个元素,也是b列表中的第三个元素,所以b中的列表被删除

我试过了

c = [x for x in b for y in a if not x[2] == y[2]]
c = [y for x,y in zip(a,b) if not x[2] == y[2]]
c = [[x for x in b if not x[2] == y[2]] for y in a]
到目前为止,一切都失败了

我已经在网上和软件上进行了研究,虽然可能有答案,但我还没有找到一个专门解决这个问题的答案。

这可能会有所帮助

a = [["a","b","c"],["d","e","f"]] 
b = [["g","h","i"],["k","l","m"],["n","o","c"]]

check = [i[2] for i in a]
print([i for i in b if i[2] not in check])
输出:

这可能会有帮助

a = [["a","b","c"],["d","e","f"]] 
b = [["g","h","i"],["k","l","m"],["n","o","c"]]

check = [i[2] for i in a]
print([i for i in b if i[2] not in check])
输出: