Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 具有匹配值的Python字典键_Python 3.x - Fatal编程技术网

Python 3.x 具有匹配值的Python字典键

Python 3.x 具有匹配值的Python字典键,python-3.x,Python 3.x,我有一本这样的字典 a= { 1:2, 3:4, 4:2, 8:3,7:4,9:3} 我想找到具有相同值的键。 我的输出应该是 b=[ (1,4),(8,9),(3,7)] 我该如何以蟒蛇式的方式做到这一点 a={ 1:2, 3:4, 4:2, 8:3,7:4,9:3} b=set(a.values()) l=[] for i in b: l.append(tuple([k for k,v in a.items() if v == i])) print l # [(1, 4),

我有一本这样的字典

a= { 1:2, 3:4, 4:2, 8:3,7:4,9:3}
我想找到具有相同值的键。 我的输出应该是

b=[ (1,4),(8,9),(3,7)]
我该如何以蟒蛇式的方式做到这一点

a={ 1:2, 3:4, 4:2, 8:3,7:4,9:3} 
b=set(a.values())
l=[]
for i in b:
    l.append(tuple([k for k,v in a.items() if v == i]))

print l # [(1, 4), (8, 9), (3, 7)]
使用set可以轻松获得字典中的不同值

tuple()将列表转换为tuple

a = {1:2, 3:4, 4:2, 8:3,7:4,9:3, 5: 2}

valueDict = {}

mulKeys = []

for key, value in a.items():

    if valueDict.get(value) == None:

        valueDict[value] = [key]

    else:

        preExisting = valueDict[value]
        preExisting.append(key)
        valueDict[value] = preExisting




nested_lst_of_tuples = [tuple(l) for l in valueDict.values()]

print(nested_lst_of_tuples)

请注意,对于给定的问题,您提到的输出是错误的。

他希望将其作为元组列表。谢谢。错过了。虽然这段代码可能会回答这个问题,但提供关于它如何和/或为什么解决这个问题的额外上下文将提高答案的长期价值。