Python如何将列表的列表转换为指定结构的唯一字典
解决列表转字典的键值反转问题
嘿,我明白你的问题啦!你本来想把嵌套列表里的每个子列表第一个元素当键、第二个当值,结果用map(reversed, myList)反而把键值搞反了,对吧?
为什么原来的代码会出错?
reversed()函数会把每个子列表的元素顺序翻转,比如[100,23]会变成[23,100],传给dict()之后,自然就把23当成键、100当成值了,这就是结果不符合预期的原因。
最简单的正确解法
其实Python的dict()构造函数本身就支持直接接收这种包含键值对的嵌套列表!每个子列表的第一个元素会被当作键,第二个当作值,直接用下面的代码就行:
myList = [[100, 23], [101, 34], [102, 35]] myDict = dict(myList) print(myDict) # 输出: {100: 23, 101: 34, 102: 35}
更直观的替代方法(字典推导式)
如果你想更清晰地看到键值的对应关系,也可以用字典推导式,可读性更强:
myDict = {item[0]: item[1] for item in myList}
这种写法明确指定了取每个子列表的第0个元素当键,第1个当值,新手也能一眼看懂逻辑。
内容的提问来源于stack exchange,提问作者San9096
相关产品推荐
相关产品推荐

