如何向值为字典结构的Python字典中自动追加新的顺序键值对
解决方法
因为内层字典的键为连续递增的整数,我们可以通过动态计算当前最大键的方式生成新键,再完成赋值操作即可,具体实现如下:
单条值添加示例
# 1. 获取内层字典 inner_dict = your_dict['high'] # 2. 计算下一个可用的整数键,兼容内层字典为空的场景 next_key = max(inner_dict.keys()) + 1 if inner_dict else 0 # 3. 赋值新的键值对 inner_dict[next_key] = '新的字符串值'
批量值添加示例
对应你需要添加多个值的需求,直接循环赋值即可:
# 初始字典 your_dict = {'high': {0: '57798.68000000', 1: '57784.43000000', 2: '57909.99000000'}} # 待添加的所有新值 new_values = ['54353', '235234234'] inner_dict = your_dict['high'] current_key = max(inner_dict.keys()) + 1 if inner_dict else 0 for val in new_values: inner_dict[current_key] = val current_key += 1
运行后your_dict的输出结果就和你期望的效果完全一致。
常见问题说明
append是列表专属方法、add是集合专属方法,字典本身没有这两个方法,因此无法使用。你之前直接赋值失败大概率是没有动态计算新键,使用了固定键导致覆盖已有值,按照上述方式动态生成新键后直接赋值是完全可行的。
注意:该方案仅适用于内层字典所有键均为整数的场景,如果存在非整数类型的键,需要先过滤出整数键再计算最大值。
内容的提问来源于stack exchange,提问作者Jellyfish
相关产品推荐
相关产品推荐

