581*_*813 17 python tuples list duplicates python-itertools
我知道在Stack Overflow上已经多次询问过与此类似的问题,但是我需要从列表中删除重复的元组,但不仅仅是它们的元素匹配,它们的元素必须处于相同的顺序.换言之,(4,3,5)与(3,4,5)将同时出现在输出中,而如果有两个(3,3,5)和(3,3,5)中,只有一个将是在输出中.
具体来说,我的代码是:
import itertools
x = [1,1,1,2,2,2,3,3,3,4,4,5]
y = []
for x in itertools.combinations(x,3):
y.append(x)
print(y)
Run Code Online (Sandbox Code Playgroud)
其中输出相当冗长.例如,在输出中,应该有(1,2,1)和(1,1,2).但应该只有一个(1,2,2).
iCo*_*dez 32
set 将照顾:
>>> a = [(1,2,2), (2,2,1), (1,2,2), (4,3,5), (3,3,5), (3,3,5), (3,4,5)]
>>> set(a)
set([(1, 2, 2), (2, 2, 1), (3, 4, 5), (3, 3, 5), (4, 3, 5)])
>>> list(set(a))
[(1, 2, 2), (2, 2, 1), (3, 4, 5), (3, 3, 5), (4, 3, 5)]
>>>
Run Code Online (Sandbox Code Playgroud)
set将仅删除完全相同的重复项.
| 归档时间: |
|
| 查看次数: |
33311 次 |
| 最近记录: |