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

如何无需zip两次同一可迭代对象从元组列表生成字典推导式

实现方法

你原来的写法中zip(my_list, my_list)本身就是冗余操作:两个参数都是同一个可迭代对象时,zip返回的每一组x,y其实是同一个元组,完全不需要做配对操作,直接单次遍历my_list取值就能得到相同结果:

my_list = [(1, 'old', 'new'),
           (2, 'old2', 'new2'),
           (3, 'old3', 'new3')]

result = {item[1]: item[2] for item in my_list}

运行输出和原代码完全一致:

{'old': 'new', 'old2': 'new2', 'old3': 'new3'}

原代码冗余说明

原写法里的x和y是完全相同的元素,y[2]等价于x[2],没必要额外做一次zip配对,单次遍历的写法不仅逻辑更清晰,也减少了不必要的运算开销。

内容的提问来源于stack exchange,提问作者Jonas Palačionis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:45:00