我有嵌套字典,我正在尝试删除其中一些字典,同时在删除后重新排序键。
a = {0:[1,2],1:[3,4,5],2:[6,7,8]}`
for i in range(len(a)):
if len(a[i]) != 3:
del a[i]
返回的字典是
a = {1:[3,4,5],2:[6,7,8]}
我需要重新排序按键,这样我最终会得到
a = {0:[3,4,5],1:[6,7,8]}
这是因为当你从字典中删除键时,字典的长度会发生变化。您可以在开始删除键之前将它们存储到变量中。
a = {0:[1,2],1:[3,4,5],2:[6,7,8]}
items = list(a.items())
for key,value in items:
if len(value)!=3:
a.pop(key)
print(a)