Qia*_*iao 28 python dictionary
我有一本字典
{'a': 'first', 'b': 'second'}
Run Code Online (Sandbox Code Playgroud)
但是,我需要不同顺序的字典:
{'b': 'second', 'a': 'first'}
Run Code Online (Sandbox Code Playgroud)
做这个的最好方式是什么?
Thi*_*ter 41
字典不是订购的.所以没有办法做到这一点.
如果你有python2.7 +,你可以使用collections.OrderedDict- 在这种情况下你可以使用.items()然后反转它来检索项目列表并OrderedDict从反向列表中创建一个新的:
>>> od = OrderedDict((('a', 'first'), ('b', 'second')))
>>> od
OrderedDict([('a', 'first'), ('b', 'second')])
>>> items = od.items() # list(od.items()) in Python3
>>> items.reverse()
>>> OrderedDict(items)
OrderedDict([('b', 'second'), ('a', 'first')])
Run Code Online (Sandbox Code Playgroud)
如果你使用的是较旧的python版本,你可以从http://code.activestate.com/recipes/576693/获得一个backport.
字典没有订单.
您可以获取密钥,按照您的喜好对它们进行排序,然后以这种方式迭代字典值.
keys = myDict.keys()
keys = sorted(keys) # order them in some way
for k in keys:
v = myDict[k]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18016 次 |
| 最近记录: |