如果它们完全相同,包括项目的顺序,则从列表中删除重复的元组

Remove duplicate tuples from a list if they are exactly the same including order of items(如果它们完全相同,包括项目的顺序,则从列表中删除重复的元组)
本文介绍了如果它们完全相同,包括项目的顺序,则从列表中删除重复的元组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我知道类似的问题已经在 Stack Overflow 上被问过很多次了,但我需要从列表中删除重复的元组,但不仅仅是它们的元素匹配,它们的元素必须按相同的顺序排列.换句话说,(4,3,5)(3,4,5) 都将出现在输出中,而如果两者都有 (3,3,5)(3,3,5),只有一个会在输出中.

I know questions similar to this have been asked many, many times on Stack Overflow, but I need to remove duplicate tuples from a list, but not just if their elements match up, their elements have to be in the same order. In other words, (4,3,5) and (3,4,5) would both be present in the output, while if there were both(3,3,5) and (3,3,5), only one would be in the output.

具体来说,我的代码是:

Specifically, my code is:

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)

其中的输出很长.例如,在输出中,应该同时存在 (1,2,1)(1,1,2).但是应该只有一个(1,2,2).

of which the output is quite lengthy. For example, in the output, there should be both (1,2,1) and (1,1,2). But there should only be one (1,2,2).

推荐答案

set 会解决这个问题:

set will take care of that:

>>> 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)]
>>>

set 将仅删除 exact 个重复项.

set will remove only exact duplicates.

这篇关于如果它们完全相同,包括项目的顺序,则从列表中删除重复的元组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)
Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)
Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)
Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)
Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)
Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)