PYTHON 字典观察站

视图不是截图

很多人第一次把 d.keys() 存进变量时,会以为里面已经复制了一份键。真正的情况更像给原字典开了一扇窗:字典一变,窗里看到的内容也跟着变。

原字典:学习进度

按插入顺序排列

        

三扇动态窗口

它们分别交出键、值和键值对;三者的迭代次序互相对应。

keys_view

尚未创建视图

values_view

尚未创建视图

items_view

尚未创建视图

动态视图现在看到

先点击“创建动态视图与列表快照”

普通列表当时留下

先点击“创建动态视图与列表快照”

准备就绪。建议先创建视图,再改写一个值。

让 for 循环走一遍

逐步按钮会按照当前插入顺序标出本轮拿到的元素。


        

更新已有键

d[key] = 新值 会替换值,但不会把这个键移动到末尾。

删除再插入

旧位置已经消失。再次加入同名键时,它会被当作一次新的插入,排到末尾。

遍历时别改大小

一边遍历视图,一边增加或删除字典条目,可能触发 RuntimeError。需要修改时先遍历一份列表副本。