こんにちは。
dictionary に対して filter()
を行う関数を作りました1。
>> def filter_dict(f, d):
>> return {k:v for k,v in d.items() if f(k,v)}
>>
>> d = {1:2, 3:4}
>> filter_dict(lambda k,v: v==2, d)
{1: 2}
他にも各種の方法があるようです(下記例2)。
>> {k:v for k,v in d.items() if v==2}
{1: 2}
>> dict([(k,v) for k,v in d.items() if v==2])
{1: 2}
>> dict(filter(lambda kv: kv[1]==2, d.items()))
{1: 2}
>> {k:v for k,v in filter(lambda kv: kv[1]==2, d.items())}
{1: 2}