重命名字典中的键

ale*_*lex 3 python dictionary

我想重命名字典的键是int,我需要它们与前导零的整数,以便它们正确排序.

例如我的键是这样的:

'1','101','11'
Run Code Online (Sandbox Code Playgroud)

我需要他们:

'001','101','011'
Run Code Online (Sandbox Code Playgroud)

这就是我现在正在做的事情,但我知道有更好的方法

tmpDict = {}
  for oldKey in aDict:
 tmpDict['%04d'%int(oldKey)] = aDict[oldKey]
newDict = tmpDict
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 7

你是以错误的方式去做的.如果要以排序方式从dict中提取条目,则需要对提取进行排序.

for k in sorted(D, key=int):
  print '%s: %r' % (k, D[k])
Run Code Online (Sandbox Code Playgroud)