Python字典插入新键值对问题:循环中仅保留最后一组键值对
问题排查与解决
问题根源
- 字典重复初始化:你把字典
d = dict()写在了for循环内部,每次循环都会新建一个空字典,前两次循环添加的'e'和'a'都会被丢弃,最后只保留最后一次循环的't'。 - 冗余逻辑无效:代码里的
if i in d: continue完全多余——刚执行完d[i] = i,i必然在字典里,else分支永远不会触发。
修正后的代码
s = "eat" d = dict() # 将字典初始化移到循环外部 for i in s: d[i] = i print(d)
执行这段代码会输出你期望的结果:{'e': 'e', 'a': 'a', 't': 't'}。
内容的提问来源于stack exchange,提问作者Prakhar Shukla
相关产品推荐
相关产品推荐

