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

Python中将嵌套列表指定位置值替换为字典映射值的更优实现方法

高效Pythonic实现方案

字典的查询时间复杂度为O(1),因此仅需遍历一次my_list即可完成全部替换,时间复杂度为O(n)(n为my_list的长度),远优于原嵌套循环的O(m*n)(m为字典键的数量)。

原地修改版本(直接修改原列表)

如果可以直接修改原有my_list,用以下写法即可:

for item in my_list:
    # 若能确保所有子列表第2个元素都在字典键中,可简化为 item[1] = my_dict[item[1]]
    item[1] = my_dict.get(item[1], item[1])

生成新列表版本(不改动原列表)

如果需要保留原列表数据,用列表推导式的写法更简洁:

new_list = [
    [item[0], my_dict.get(item[1], item[1]), item[2]]
    for item in my_list
]

额外优化说明

你原有代码中的replace方法存在隐藏逻辑风险:如果字典存在两个键为包含关系(比如同时有012和0123两个键),会出现意外的子串替换问题。而直接按完整值匹配字典的写法完全规避了该问题,逻辑更严谨。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 15:18:05