如何基于列表生成键与值相等的Python字典
问题原因
你当前代码的键取自range(len(x))生成的整数索引,所以最终字典的键是0、1、2这类数字,不符合「键与值相等」的需求。
修改方案
方案1:调整原有循环逻辑
直接遍历列表中的元素,将元素本身同时作为字典的键和值:
dicts = {} values = x for item in values: dicts[item] = item
方案2:使用字典推导式(更简洁)
一行即可完成生成,可读性更高:
dicts = {item: item for item in x}
注意事项
Python中字符串类型的键会自带引号标识,你示例中期望的{a: 'a'}属于不符合Python语法的写法,实际运行后得到的合法输出为{'a': 'a', 'b': 'b', 'c': 'c'},和你需求的逻辑完全一致。
内容的提问来源于stack exchange,提问作者Luca
相关产品推荐
相关产品推荐

