繁体   English   中英

从列表中删除元组类似于另一个列表中的元组

[英]Remove tuple from list similar to tuple in another list

我是 python 和一般编程的新手。 我在从列表中删除与另一个列表中的元组相似的元组时遇到问题。

List1=[(1,2,3,4,5),(1,3,6,7,8)]

List2=[(1,2,3,7,9),(1,4,8,9,10),(1,3,8,9,10)]

我想从 List2 中删除在 List1 的元组中有 3 个相似元素的元组。

Outputlist=[(1,4,8,9,10)]

最有效的方法是什么? 提前致谢。

您可以使用 for 循环执行此操作,每次满足您的条件时,将该元素从List2和 go 中删除到下一个:

List1=[(1,2,3,4,5),(1,3,6,7,8)]
List2=[(1,2,3,7,9),(1,4,8,9,10),(1,3,8,9,10)]

for index, elem2 in enumerate(List2):
    for elem1 in List1:
        # Find common items using set intersection.
        commonItems = len(set(elem2).intersection(set(elem1)))
        if commonItems == 3:
            del List2[index]
            break

print(List2)

这将返回:

[(1, 4, 8, 9, 10)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM