📜  Python – 字典中的唯一值键,列表作为值

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

Python – 字典中的唯一值键,列表作为值

有时,在使用Python字典时,我们可能会遇到需要提取具有唯一值的键的问题(其他列表中应该至少有一项不存在) ,即不会出现在任何其他键的值列表中.这可以在数据预处理中得到应用。让我们讨论可以执行此任务的某些方式。

方法 #1:使用循环 + count()
上述功能的组合可以用来解决这个问题。在此,我们使用计数执行计数发生的任务,并使用条件语句使用循环完成提取和测试。

# Python3 code to demonstrate working of 
# Unique Keys Values
# Using loop + count()
  
# initializing dictionary
test_dict = {'Gfg' : [6, 5], 'is' : [6, 10, 5], 'best' : [12, 6, 5]} 
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Unique Keys Values
# Using loop + count()
temp = [sub for ele in test_dict.values() for sub in ele]
res = []
for key, vals in test_dict.items():
    for val in vals:
        if temp.count(val) == 1:
            res.append(key)
            break
  
# printing result 
print("The unique values keys are : " + str(res)) 
输出 :
The original dictionary is : {'Gfg': [6, 5], 'best': [12, 6, 5], 'is': [6, 10, 5]}
The unique values keys are : ['best', 'is']

方法 #2:使用列表推导 + any() + count()
上述功能的组合可用于执行此任务。在此,我们使用 any() 和 count() 检查唯一元素。这是可以执行此任务的一种线性方式。

# Python3 code to demonstrate working of 
# Unique Keys Values
# Using list comprehension + any() + count()
  
# initializing dictionary
test_dict = {'Gfg' : [6, 5], 'is' : [6, 10, 5], 'best' : [12, 6, 5]} 
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Unique Keys Values
# Using list comprehension + any() + count()
res = [key for key, vals in test_dict.items() if any([ele for sub in test_dict.values()
       for ele in set(sub)].count(idx) == 1 for idx in vals)]
  
# printing result 
print("The unique values keys are : " + str(res)) 
输出 :
The original dictionary is : {'Gfg': [6, 5], 'best': [12, 6, 5], 'is': [6, 10, 5]}
The unique values keys are : ['best', 'is']