📜  Python|如何在嵌套元组中获取唯一元素

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

Python|如何在嵌套元组中获取唯一元素

有时,在使用元组时,我们可能会遇到嵌套元组的问题,我们需要提取单独出现的元素,即基本元素。这种问题可以在许多领域都有应用。让我们讨论一些可以解决这个问题的方法。

方法 #1:使用嵌套循环 + set()
上述 2 个功能可用于解决此特定问题。在此,我们迭代每个嵌套元组并添加到 set if 元素第一次出现,并在添加之前检查每个元素。

# Python3 code to demonstrate working of
# Unique elements in nested tuple
# Using nested loop + set()
  
# initialize list
test_list = [(3, 4, 5), (4, 5, 7), (1, 4)]
  
# printing original list 
print("The original list : " + str(test_list))
  
# Unique elements in nested tuple
# Using nested loop + set()
res = []
temp = set()
for inner in test_list:
        for ele in inner:
            if not ele in temp:
                temp.add(ele)
                res.append(ele)
  
# printing result
print("Unique elements in nested tuples are : " + str(res))
输出 :
The original list : [(3, 4, 5), (4, 5, 7), (1, 4)]
Unique elements in nested tuples are : [3, 4, 5, 7, 1]

方法 #2:使用set() + from_iterable()
上述功能的组合可以用来解决这个问题。这是通过 2 个步骤完成的,首先,我们展平嵌套列表,然后使用set()找到不同的值。

# Python3 code to demonstrate working of
# Unique elements in nested tuple
# Using from_iterable() + set()
from itertools import chain
  
# initialize list
test_list = [(3, 4, 5), (4, 5, 7), (1, 4)]
  
# printing original list 
print("The original list : " + str(test_list))
  
# Unique elements in nested tuple
# Using from_iterable() + set()
res = list(set(chain.from_iterable(test_list)))
  
# printing result
print("Unique elements in nested tuples are : " + str(res))
输出 :
The original list : [(3, 4, 5), (4, 5, 7), (1, 4)]
Unique elements in nested tuples are : [1, 3, 4, 5, 7]