Python如何将字典映射应用到嵌套列表以保留结构完成元素转换
问题原因
你当前的代码直接把所有转换后的元素追加到最外层的t列表,所以最终得到一维列表。要保留和z一致的嵌套结构,需要先为每个子列表创建独立的临时存储,处理完单个子列表的所有元素后,再把转换后的子列表追加到外层列表。
解决方案
方法1:修改原有循环逻辑
t = [] for sub_list in z: converted_sub = [] for item in sub_list: converted_sub.append(delqType[item]) t.append(converted_sub)
方法2:使用嵌套列表推导式(更简洁)
t = [[delqType[item] for item in sub_list] for sub_list in z]
可选优化
如果业务场景中可能出现z里的元素不在delqType字典的情况,可以用get方法避免触发KeyError,示例:
# 找不到对应key时默认返回0,可自行修改默认值 t = [[delqType.get(item, 0) for item in sub_list] for sub_list in z]
内容的提问来源于stack exchange,提问作者Giampaolo Levorato
相关产品推荐
相关产品推荐

