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

如何按顺序将列表元素追加到Python单键多值字典的对应值列表

解决方案:按顺序将列表元素追加到字典的每个值列表末尾

嘿,要实现把列表x的元素按顺序追加到字典d每个键对应的列表末尾,其实很简单,用zip()函数把字典的键和x的元素一一配对,然后遍历追加就行。

完整代码示例

d = {'POU': ['KO', '0.9.8', '0.99', '0.54'], 'TAN': ['LA', '9', '7.5', '0.0'], 'EST': ['RA', '2', '6.5', '10.01']}
x = [1, 2, 3]

# 遍历配对后的键和数字,逐个追加
for key, num in zip(d.keys(), x):
    d[key].append(num)

print(d)

代码解释

  1. zip(d.keys(), x):Python 3.7及以上版本的字典会保留插入顺序,所以d.keys()会按'POU'、'TAN'、'EST'的顺序返回键,和x的[1,2,3]刚好一一对应,zip()会把它们打包成('POU',1)、('TAN',2)、('EST',3)这样的元组对。
  2. d[key].append(num):遍历每一对时,用append()方法把对应的数字追加到该键的列表末尾,直接修改原字典。

运行这段代码后,你就能得到目标字典啦:

{'POU': ['KO', '0.9.8', '0.99', '0.54', 1], 'TAN': ['LA', '9', '7.5', '0.0', 2], 'EST': ['RA', '2', '6.5', '10.01', 3]}

额外提示

如果你的字典键的数量和x的长度不一致,zip()会以较短的那个序列为准截断。要是需要处理这种情况(比如长度不匹配时抛出错误),可以用zip_longest()(从itertools模块导入),不过在你的问题场景里,两者长度刚好匹配,所以用zip()就足够啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:27:28