反转python字典有序对

时间:2016-06-16 15:19:54

标签: python python-2.7 sorting dictionary reverse

这个问题已被多次询问,我努力搜索无济于事。 以下是我的问题示例:

-0.0

我正在寻找的输出如下:

<activity android:name=".InitialActivity" android:exported="true" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>

我真的不确定如何攻击这个,因为这是我目前的代码:

dict = {"a":"1", "b":"2", "c":"3"}

我目前正在做的是将元组对作为键/值,因为这些需要保持不变。我不知道如何以相反的顺序插入这对。

2 个答案:

答案 0 :(得分:0)

dictionary按照定义无序

  

最好将字典视为无序密钥组:值对,并要求密钥是唯一的(在一个字典中)。

因此,您的问题无法解答,您应该考虑使用不同的数据结构。也许 可以反转OrderedDict

>>> import collections
>>> dict = collections.OrderedDict([(1,2),(3,4),(5,6)])
>>> collections.OrderedDict(reversed(list(dict.items())))
OrderedDict([(5, 6), (3, 4), (1, 2)])

答案 1 :(得分:0)

首先,python的dict对象是一个哈希表,所以它没有顺序。 但如果您只想获得一个列表,则可以使用sorted(iterable, key=None, reverse=False)方法。 def order(dic): return sorted(dic.items(),key=lambda x:x[1],reverse=True)