繁体   English   中英

Python列表字典-返回具有唯一值的键

[英]Python Dictionary of List - Returning Keys which have a unique value

dictx = {'C2': ['2', '5', '7'], 'A1': ['1','4', '5'], 'C1': ['2', '5'], 'A2': ['4', '5', '7', '8'], 'B3': ['4', '7'], 'B2': ['2', '4', '6', '7', '8']}

这是我的字典。 我尝试返回:最好在列表中返回“ B2”和“ A1”,因为这两个键具有唯一的值。 顺序无关紧要。 希望得到一些帮助,因为我尝试创建大量的for循环,但是没有运气(例如翻转)。

旁注:如果有帮助,字典的值以字符串形式介于0-9之间。

编辑:1和6令人困惑,对不起-具体来说,它需要返回B2和A1,因为它们具有唯一值-不是因为它们是那些值。

对于不依赖1和6作为唯一值的一般方法:

from collections import Counter
key_counter = Counter([entry for val in dictx.values() for entry in val])
print ([key for key in dictx if any(key_counter[val] == 1 for val in dictx[key])])

输出:

['A1', 'B2']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM