splitting one dictionary into two

jsaul use_reply-to at empty.invalid
Thu Apr 1 10:31:03 EST 2004


Hello all,

I have to split a dict into two dicts. Depending on their values,
the items shall remain in the original dict or be moved to another
one and at the same time be removed from the original dict.

OK, this is how I do it right now:

    dict1 = { "a":1, "b":3, "c":5, "d":4, "e":2 }
    dict2 = {}
    klist = []

    for key in dict1:
        if dict1[key] > 3: # some criterion
            dict2[key] = dict1[key]
            klist.append(key)

    for key in klist:
        del dict1[key]

    print dict1
    print dict2

That means that I store the keys of the items to be removed from
the original dict in a list (klist) and subsequently remove the
items using these keys.

Is there an "even more pythonic" way?

Cheers, jsaul



More information about the Python-list mailing list