[Python] Fastest way of deleting certain keys from dict in Python

Discussão em 'Python' iniciado por Stack, Abril 17, 2025.

  1. Stack

    Stack Membro Participativo

    I'm looking for most fastest/effective way of deleting certain keys in a python dict

    Here are some options

    for k in somedict.keys():
    if k.startswith("someprefix"):
    del somedict[k]


    or

    dict((k, v) for (k, v) in somedict.iteritems() if not k.startswith('someprefix'))


    Logically first snippet should be faster on smaller dicts, it doesn't create a copy of a dict but creates a list of all keys, however double lookups and dict rebuilding is time consuming. While the second is faster on bigger dicts, but requires 2x more memory. I've checked my assumption in some small benchmark.

    Anything faster?

    Continue reading...

Compartilhe esta Página