python filter list of dictionaries based on key value

后端 未结 2 1989
醉梦人生
醉梦人生 2020-11-27 02:44

I have a list of dictionaries and each dictionary has a key of (let\'s say) \'type\' which can have values of \'type1\', \'type2\', etc. My goal is

2条回答
  •  余生分开走
    2020-11-27 03:34

    You can try a list comp

    >>> exampleSet = [{'type':'type1'},{'type':'type2'},{'type':'type2'}, {'type':'type3'}]
    >>> keyValList = ['type2','type3']
    >>> expectedResult = [d for d in exampleSet if d['type'] in keyValList]
    >>> expectedResult
    [{'type': 'type2'}, {'type': 'type2'}, {'type': 'type3'}]
    

    Another way is by using filter

    >>> list(filter(lambda d: d['type'] in keyValList, exampleSet))
    [{'type': 'type2'}, {'type': 'type2'}, {'type': 'type3'}]
    

提交回复
热议问题