Are*_*Tor 2 python dictionary python-3.x
假设我有一个OrderedDict od带有整数键和整数值的。我想根据发现的值进行迭代od并删除的元素od。基本上我想实现的是:
od = {1: 2, 2: 4, 3: 5}
for key in od:
del od[key]
Run Code Online (Sandbox Code Playgroud)
最后我想od等于{1: 2, 3: 5}。Python不允许OrderedDict在其迭代期间更改an的大小。有可能克服这个问题吗?
我正在使用Python 3.5
那是因为您无法修改其长度dict。相反,您必须遍历dictas 中的键列表的副本:
# For both Python 3.x and 2.7
>>> for key in list(od):
... del od[key]
...
>>> od
{}
Run Code Online (Sandbox Code Playgroud)
但是在Python2.7中,甚至可以使用它dict.keys()来获得相同的行为:
# In Python 2.7
>>> for key in od.keys():
... del od[key]
...
>>> od
{}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
852 次 |
| 最近记录: |