在python中连续更改字典中的键



这里我创建一个简单的字典:键是1,2,3,4,5…我想弹出一个键值

dic = {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}
dic.pop(3)

输出为

dic = {1: 'a', 2: 'b', 4: 'd', 5: 'e'}

但是我不想要这样的输出。我想按顺序更改我的字典键。像

dic = {1: 'a', 2: 'b', 3: 'd', 4: 'e'}

我是新来的,所以请帮助我如何动态地做到这一点。

你可以这样做:

dic = {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}
def pop_keys(key):
keys=[val for val in dic]
values=[val for val in dic.values()]
values.remove(dic.get(key))
return {k:v for k,v in zip(keys,values)}
print(pop_keys(3))

由于您有顺序整数键,因此最好使用列表,但如果您更喜欢使用字典:

items = {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}
items.pop(3)
items = {k: v for k, v in enumerate(items.values(), start=1)}
print(items)
# Outputs {1: 'a', 2: 'b', 3: 'd', 4: 'e'}

相关内容

  • 没有找到相关文章

最新更新