Python字典遍历仅输出部分键,为何无法遍历全部定义的键?
为什么字典遍历只输出两个键?
- Python 字典的键具有唯一性,同一个键在字典里只能存在一次。当你重复定义同一个键时,后面的键值对会直接覆盖前面的。
- 看你写的字典代码,
"cross"和"circle"都被重复赋值了多次,最终字典里只会保留每个键最后一次的赋值结果:cross对应的是最后一次的(1066, 600)circle对应的是最后一次的(640, 600)
- 字典里实际只存储了这两个唯一的键,所以遍历
placement.keys()时,自然只会输出cross和circle。
如果要保存所有的标记和对应位置,建议改用列表来存储,示例代码如下:
placement = [ ("cross", (50, 120)), ("circle", (640, 120)), ("cross", (1066, 120)), ("circle", (50, 360)), ("cross", (640, 360)), ("circle", (1066, 360)), ("cross", (50, 600)), ("circle", (640, 600)), ("cross", (1066, 600)) ] # 遍历所有标记 for mark, pos in placement: print(mark)
这样就能输出所有的cross和circle了。
内容的提问来源于stack exchange,提问作者Ethan Bello
相关产品推荐
相关产品推荐

