我有两个元组列表。第一个列表包含x个2元组,而另一个列表包含y个(更多)3元组。
我想比较这两个列表,但只考虑元组的第1个和第2个元素,并且基本上只是删除重复项,但不应考虑第二个列表中每个元组的第3个条目。
list_x=[(1,1),(1,2),(2,3),(2,5),(4,6), ...]
list_y=[(1,1,33),(1,3,65),(2,4,11), ...]
现在我想创建一个新列表,其中移除了所有在list_x中出现的元素,结果列表应该像这样:
[(1,3,65),(2,4,11), ...]
对于大小相同的元组列表,只需将列表转换为集合并将两个列表相减即可:
newlist = list(set(list_y) - set(list_x))
还可以通过元组的第二个元素对结果列表进行排序:
newlist.sort(key=lambda tup: tup[1])
但现在的问题是:如果列表看起来像上面那样,如何实现这一点?