首页 > 解决方案 > 是否想使用 python 在 zip 中查找重复值

问题描述

是否想使用 python 在 zip 中查找重复值

我有一个 zip 值,例如


[(6, 0, 6, 1), (1, 8, 0, 3), (6, 10, 10, 8), (3, 6, 0, 4)]

我想得到一个输出[(6, 0, 6, 1), (6, 10, 10, 8)]

我已经尝试过zip(x) if i.count(x) > 1

标签: python

解决方案


尝试这个:

your_data = [(6, 0, 6, 1), (1, 8, 0, 3), (6, 10, 10, 8), (3, 6, 0, 4)]
filtered_data = [e for e in your_data if len(set(e)) < len(e)]
print(filtered_data)

(我假设您要过滤 zip 的结果,而不是原始输入。)

这不是最有效的方法,但它很干净;我们只需从列表的每个成员中创建一个集合(一组独特元素),并检查它是否比原始成员短——如果是,它有重复,我们放弃保留它(感谢 Aran-Fey !)。


推荐阅读