如何重新编排数字键字典?删除键后需使后续键序号前移
解决字典数字键重新编排的方法
直接给你可行的操作步骤和代码示例(以Python为例):
第一步:删除指定条目
先让用户输入要删除的编号,检查该编号是否存在于字典中,存在则删除对应键值对:# 假设你的字典叫contacts delete_num = int(input("请输入要删除的条目编号:")) if delete_num in contacts: del contacts[delete_num] else: print("该编号不存在")第二步:重新生成连续编号的新字典
提取删除后剩余的所有值,按原有顺序重新绑定从1开始的连续数字键:# 提取剩余值的列表,保持原有顺序(Python3.7+字典有序) remaining_values = list(contacts.values()) # 生成新字典,键从1开始递增 new_contacts = {i + 1: val for i, val in enumerate(remaining_values)}执行完后,
new_contacts就是键连续的字典——比如原键1-5删除3后,新键会变成1-4,对应原来的1、2、4、5的值。兼容旧Python版本的补充
如果你的Python版本低于3.7,字典是无序的,需要先把原字典的键值对按键排序后再提取值:# 按原键排序后提取值 remaining_values = [val for key, val in sorted(contacts.items())] new_contacts = {i + 1: val for i, val in enumerate(remaining_values)}
内容的提问来源于stack exchange,提问作者Yuan Marquez
相关产品推荐
相关产品推荐

