📜  Python|从字典列表中获取唯一值

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

Python|从字典列表中获取唯一值

有时,在使用Python字典时,我们可能会遇到需要在列表中的所有字典中查找唯一值的问题。这种实用程序可能会出现在处理类似数据并且我们希望提取唯一数据的情况下。让我们讨论可以执行此任务的某些方式。

方法 #1:使用set() + values() + 字典理解
这些方法的组合可以共同帮助我们完成获取唯一值的任务。 values函数帮助我们获取字典的值,set 帮助我们获取它们的唯一性,字典理解来遍历列表。

# Python3 code to demonstrate working of
# Get Unique values from list of dictionary
# Using set() + values() + dictionary comprehension
  
# Initialize list 
test_list = [{'gfg' : 1, 'is' : 2}, {'best' : 1, 'for' : 3}, {'CS' : 2}]
  
# printing original list
print("The original list : " +  str(test_list))
  
# Using set() + values() + dictionary comprehension
# Get Unique values from list of dictionary
res = list(set(val for dic in test_list for val in dic.values()))
      
# printing result 
print("The unique values in list are : " + str(res))
输出 :

方法 #2:使用set() + values() + from_iterable()
上述功能的组合可用于执行此特定任务。和上面的方法一样,只是迭代部分是由from_iterable函数完成的。

# Python3 code to demonstrate working of
# Get Unique values from list of dictionary
# Using set() + values() + from_iterable()
from itertools import chain
  
# Initialize list 
test_list = [{'gfg' : 1, 'is' : 2}, {'best' : 1, 'for' : 3}, {'CS' : 2}]
  
# printing original list
print("The original list : " +  str(test_list))
  
# Using set() + values() + from_iterable()
# Get Unique values from list of dictionary
res = list(set(chain.from_iterable(sub.values() for sub in test_list)))
      
# printing result 
print("The unique values in list are : " + str(res))
输出 :