1

私は以下のような辞書を持っています

dict1 = {'a':{'a':20, 'b':30}, 'b':{'a':30, 'b':40}, 'c':{'a':20, 'b':30}, 'd':{'a':30, 'b':40}}

次に、次の辞書では2つの辞書が同じであるため、期待される結果は次のようになります

result = [['a','c'],['b','d']]
4

2 に答える 2

0

簡単な方法: 最初に異なる値を取得し、次に内包表記をリストします。

>>> values = []
>>> for k in dict1:
    if dict1[k] not in values:
        values.append(dict1[k])


>>> values
[{'a': 20, 'b': 30}, {'a': 30, 'b': 40}]
>>> [[k for k in dict1 if dict1[k] == v] for v in values]
[['a', 'c'], ['b', 'd']]
于 2013-04-30T10:47:05.907 に答える