我有一本字典
lang = {'ar':'arabic', 'ur':'urdu','en':'english'}
我想要做的是删除除一个键之外的所有键。
假设我只想保存en
这里。
我该怎么做 ? (Python式的解决方案)
我尝试过的:
In [18]: for k in lang:
....: if k != 'en':
....: del lang_name[k]
....
这给了我运行时错误:RuntimeError: dictionary changed size during iteration
你为什么不创建一个新的呢?
lang = {'en': lang['en']}
Edit:我的解决方案和jimifiki的解决方案之间的基准:
$ python -m timeit "lang = {'ar':'arabic', 'ur':'urdu','en':'english'}; en_value = lang['en']; lang.clear(); lang['en'] = en_value"
1000000 loops, best of 3: 0.369 usec per loop
$ python -m timeit "lang = {'ar':'arabic', 'ur':'urdu','en':'english'}; lang = {'en': lang['en']}"
1000000 loops, best of 3: 0.319 usec per loop
Edit 2:jimifiki 在评论中指出我的解决方案保持原始对象不变。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)