delete all keys except one in dictionary

后端 未结 4 1948
眼角桃花
眼角桃花 2021-02-18 13:22

I have a dictionary

lang = {\'ar\':\'arabic\', \'ur\':\'urdu\',\'en\':\'english\'}

What I want to do is to delete all the keys except one key.

4条回答
  •  遥遥无期
    2021-02-18 13:35

    Why don't you just create a new one?

    lang = {'en': lang['en']}
    

    Edit: Benchmark between mine and jimifiki's solution:

    $ 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's pointed out in the comments that my solution keeps the original object unchanged.

提交回复
热议问题