Python中如何将列表k元素依次追加到字典a对应键的列表使a等于l
实现方案
你使用的Python 3.8版本天然支持字典保留插入顺序,两种实现方式如下:
方案1:依赖字典插入顺序(适配当前场景)
直接将字典a的键和列表k的元素按位置配对追加即可:
for key, add_val in zip(a.keys(), k): a[key].append(add_val) # 验证结果 print(a == l) # 输出 True
方案2:手动指定目标键顺序(兼容性更强)
如果担心字典键顺序后续发生变化,可以显式声明要操作的键顺序,逻辑更稳妥:
# 按需求指定要追加的键顺序,和k的元素一一对应 target_keys = ['b', 'f', 'i'] for key, add_val in zip(target_keys, k): a[key].append(add_val) # 验证结果 print(a == l) # 输出 True
原理说明
zip()函数会将传入的多个序列按位置一一配对,遍历过程中刚好匹配你的需求:
- 第一组配对
('b', 'a'):将'a'追加到a['b']末尾 - 第二组配对
('f', 'b'):将'b'追加到a['f']末尾 - 第三组配对
('i', 'c'):将'c'追加到a['i']末尾
内容的提问来源于stack exchange,提问作者Edward Oh
相关产品推荐
相关产品推荐

