Python – 提取唯一值字典值
有时,在处理数据时,我们可能会遇到需要从字典值列表中仅提取唯一值的问题。这可以应用于许多领域,例如 Web 开发。让我们讨论可以执行此任务的某些方式。
方法#1:使用sorted() + set comprehension + values()
上述功能的组合可用于执行此任务。在此,我们使用 values() 提取所有值,并使用集合理解来获取在列表中编译的唯一值。
# Python3 code to demonstrate working of
# Extract Unique values dictionary values
# Using set comprehension + values() + sorted()
# initializing dictionary
test_dict = {'gfg' : [5, 6, 7, 8],
'is' : [10, 11, 7, 5],
'best' : [6, 12, 10, 8],
'for' : [1, 2, 5]}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# Extract Unique values dictionary values
# Using set comprehension + values() + sorted()
res = list(sorted({ele for val in test_dict.values() for ele in val}))
# printing result
print("The unique values list is : " + str(res))
输出 :
The original dictionary is : {‘gfg’: [5, 6, 7, 8], ‘best’: [6, 12, 10, 8], ‘is’: [10, 11, 7, 5], ‘for’: [1, 2, 5]}
The unique values list is : [1, 2, 5, 6, 7, 8, 10, 11, 12]
方法#2:使用chain() + sorted() + values()
这以类似的方式执行任务。不同之处在于集合理解的任务是使用chain() 执行的。
# Python3 code to demonstrate working of
# Extract Unique values dictionary values
# Using chain() + sorted() + values()
from itertools import chain
# initializing dictionary
test_dict = {'gfg' : [5, 6, 7, 8],
'is' : [10, 11, 7, 5],
'best' : [6, 12, 10, 8],
'for' : [1, 2, 5]}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# Extract Unique values dictionary values
# Using chain() + sorted() + values()
res = list(sorted(set(chain(*test_dict.values()))))
# printing result
print("The unique values list is : " + str(res))
输出 :
The original dictionary is : {‘gfg’: [5, 6, 7, 8], ‘best’: [6, 12, 10, 8], ‘is’: [10, 11, 7, 5], ‘for’: [1, 2, 5]}
The unique values list is : [1, 2, 5, 6, 7, 8, 10, 11, 12]