📜  Python|从元组中删除重复项

📅  最后修改于: 2022-05-13 01:54:47.932000             🧑  作者: Mango

Python|从元组中删除重复项

很多时候,在使用Python元组时,我们可能会遇到删除重复项的问题。这是一个非常常见的问题,可以在任何形式的编程设置中发生,无论是常规编程还是 Web 开发。让我们讨论可以执行此任务的某些方式。

方法 #1:使用set() + tuple()
这是删除重复项最直接的方法。在此,我们将元组转换为集合,删除重复项,然后使用tuple()再次将其转换回来。

# Python3 code to demonstrate working of
# Removing duplicates from tuple 
# using tuple() + set()
  
# initialize tuple
test_tup = (1, 3, 5, 2, 3, 5, 1, 1, 3)
  
# printing original tuple 
print("The original tuple is : " + str(test_tup))
  
# Removing duplicates from tuple 
# using tuple() + set()
res = tuple(set(test_tup))
  
# printing result
print("The tuple after removing duplicates : " + str(res))
输出 :
The original tuple is : (1, 3, 5, 2, 3, 5, 1, 1, 3)
The tuple after removing duplicates : (1, 2, 3, 5)

方法#2:使用OrderedDict() + fromkeys()
上述功能的组合也可用于执行此特定任务。在此,我们将元组转换为字典,删除重复项,然后访问它的键。

# Python3 code to demonstrate working of
# Removing duplicates from tuple 
# using OrderedDict() + fromkeys()
from collections import OrderedDict
  
# initialize tuple
test_tup = (1, 3, 5, 2, 3, 5, 1, 1, 3)
  
# printing original tuple 
print("The original tuple is : " + str(test_tup))
  
# Removing duplicates from tuple 
# using OrderedDict() + fromkeys()
res = tuple(OrderedDict.fromkeys(test_tup).keys())
  
# printing result
print("The tuple after removing duplicates : " + str(res))
输出 :
The original tuple is : (1, 3, 5, 2, 3, 5, 1, 1, 3)
The tuple after removing duplicates : (1, 2, 3, 5)