如何重命名字典键以遵循顺序?



我的代码处理字典,大多数字典采用以下格式:

#Default
d = {0:'a', 1: 'b', 2:'c', 3:'d', 4: 'e', 5:'f', 6:'g', 7:'h', 8:'i', 9:'j', 10:'k'}

然而,在某些情况下,字典遗漏了键值对,并以以下格式出现:

d1 = {0:'a', 1: 'b', 2:'c', 3:'d', 4: 'e', 6:'g', 7:'h', 8:'i', 9:'j', 10:'k'}
d2 = {1: 'b', 2:'c', 4: 'e', 6:'g', 7:'h', 8:'i', 9:'j'}

我如何重新排列这些字典中的键以遵循顺序格式,如下面的预期输出所示?

expected1 = {0:'a', 1: 'b', 2:'c', 3:'d', 4: 'e', 5:'g', 6:'h', 7:'i', 8:'j', 9:'k'}
expected2 = {0: 'b', 1:'c', 2: 'e', 3:'g', 4:'h', 5:'i', 6:'j'}

一个简单的字典理解:

d2 = {i: v for i, v in enumerate(d2.values())}

正如Ma0在评论中所说,列表更合适。您可以检索列表为d1.values()

最新更新