You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将存在缺失整数键的字典转换为连续整数键字典?

字典键重新分配实现方案

需求说明

原字典:

listofvirtues={1: 'Flexibility', 2: 'Authenticity', 4: 'Idealism', 5: 'Compassion', 8:'Consideration'}

期望结果:

{1: 'Flexibility', 2: 'Authenticity', 3: 'Idealism', 4: 'Compassion', 5:'Consideration'}

核心需求:将原字典的值按原整数键升序排列后,重新分配从1开始的连续整数键。

实现方案

步骤说明

  • 提取原字典的键值对,按原键升序排序
  • 为排序后的值分配从1开始的连续整数键

代码实现

listofvirtues={1: 'Flexibility', 2: 'Authenticity', 4: 'Idealism', 5: 'Compassion', 8:'Consideration'}

# 按原键升序排序键值对
sorted_items = sorted(listofvirtues.items(), key=lambda x: x[0])
# 生成新字典,键从1开始连续递增
new_dict = {i+1: item[1] for i, item in enumerate(sorted_items)}

print(new_dict)

代码解释

  • sorted(listofvirtues.items(), key=lambda x: x[0]):把字典的键值对转为列表,通过lambda x: x[0]指定按原键(元组第一个元素)升序排序。
  • {i+1: item[1] for i, item in enumerate(sorted_items)}:用字典推导式生成新字典,enumerate获取排序后列表的索引(从0开始),索引加1作为新键,对应的值保留排序后的原字典值。

运行代码后即可得到目标格式的字典。

内容的提问来源于stack exchange,提问作者Une

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:22:11