删除字典中除一个之外的所有键

2024-01-07

我有一本字典

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(使用前将#替换为@)

删除字典中除一个之外的所有键 的相关文章

随机推荐