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

如何从字典列表中提取指定键的指定位置值构建新字典?

从字典列表提取指定元素构建新字典

嘿,这个需求很明确,我来帮你实现这个字典的构建!先回顾下你的输入和预期输出:

输入示例

my_list = [ 
    { 'a': (2.6, 0.08, 47.0, 1), 'b': (5.7, 0.05, 1) }, 
    { 'a': (2.6, 0.08, 47.0, 2), 'b': (5.7, 0.06, 2) } 
]

预期输出

new_dic = {'value': (0.05, 0.06), 'number': (1, 2)}

解决方案代码

用生成器表达式就能高效完成这个提取工作,代码简洁还省内存:

my_list = [ 
    { 'a': (2.6, 0.08, 47.0, 1), 'b': (5.7, 0.05, 1) }, 
    { 'a': (2.6, 0.08, 47.0, 2), 'b': (5.7, 0.06, 2) } 
]

new_dic = {
    'value': tuple(item['b'][1] for item in my_list),
    'number': tuple(item['b'][-1] for item in my_list)
}

# 验证输出
print(new_dic)  # 输出: {'value': (0.05, 0.06), 'number': (1, 2)}

代码解释

  • item['b'][1]:Python的索引从0开始,所以这里取每个字典中b对应元组的第二个元素,也就是你要的value值
  • item['b'][-1]:用负索引-1直接取元组的最后一个元素,比写固定的索引2更灵活——就算以后b对应的元组长度变了,也能准确拿到最后一个值
  • 用tuple()把生成器的结果转成元组,和你预期的输出格式完全匹配

如果你的字典列表很大,生成器表达式比普通列表推导更友好,它不会一次性把所有元素加载到内存里,而是按需生成,性能更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 08:44:05