我想重命名字典的键是int,我需要它们与前导零的整数,以便它们正确排序。
例如我的键就像:
'1','101','11'
我需要他们:
'001','101','011'
这就是我现在正在做的事情,但我知道有更好的方法
tmpDict = {}
for oldKey in aDict:
tmpDict['%04d'%int(oldKey)] = aDict[oldKey]
newDict = tmpDict
答案 0 :(得分:7)
你的方式错了。如果要以排序的方式从dict中提取条目,则需要对提取进行排序。
for k in sorted(D, key=int):
print '%s: %r' % (k, D[k])
答案 1 :(得分:1)
您可以使用您想要的任何键进行排序。
所以,例如:sorted(mydict, key=int)
答案 2 :(得分:0)
aDict = dict((('%04d' % oldKey, oldValue) \
for (oldKey, oldValue) in aDict.iteritems()))
...或%03d
如果你需要三个数字,如你的例子。