Python如何基于两个列表按元组指定索引映射构建字典
实现方案
基础for循环写法
直接遍历keys列表的每个元组,取元组第一个元素作为字典键,第二个元素作为下标取values的对应值即可,代码如下:
keys = [("a", 2), ("b", 0), ("c", 2)] values = [0, 10, 20] result = {} for key, index in keys: result[key] = values[index] print(result)
运行输出完全符合预期:{'a': 20, 'b': 0, 'c': 20}
简洁字典推导式写法
如果不需要额外中间处理逻辑,可以用字典推导式一行实现相同效果:
result = {key: values[index] for key, index in keys}
注意:如果
keys中元组存储的下标超出了values列表的合法下标范围,运行时会抛出IndexError,请提前校验输入的下标有效性。
内容的提问来源于stack exchange,提问作者Roberto Rondo
相关产品推荐
相关产品推荐

