二维字典我有以下格式的字典:排序逆转值
d[1][2]= 0.3
d[1][3] = 0.4
d[2][8] = 0.2
d[id1][id2] = value
我想通过值来扭转这个排序?
我的逻辑非常冗长,我有一种感觉,它可以在Python中很快完成?
二维字典我有以下格式的字典:排序逆转值
d[1][2]= 0.3
d[1][3] = 0.4
d[2][8] = 0.2
d[id1][id2] = value
我想通过值来扭转这个排序?
我的逻辑非常冗长,我有一种感觉,它可以在Python中很快完成?
使用sorted
与理解:
sorted((value, id1, id2) for id1, d1 in d.items() for id2, value in d1.items())
这是不能做到的。
词典将键映射到值。他们没有秩序的概念,所以你的问题没有多大意义。
那么,有OrderedDicts http://docs.python.org/2/library/collections.html#collections.OrderedDict它会记住插入顺序... – bluszcz
字典没有在Python顺序。 –
字典在Python中是无序的,所以说你想要一个“按值排序”是没有意义的。你真的想要什么样的数据类型?密钥列表,也许? – Blckknght
OrderedDict? http://docs.python.org/2/library/collections.html#collections.OrderedDict – bluszcz