Check if value already exists within list of dictionaries?

前端 未结 4 1952
野的像风
野的像风 2020-11-27 10:28

I\'ve got a Python list of dictionaries, as follows:

a = [
    {\'main_color\': \'red\', \'second_color\':\'blue\'},
    {\'main_color\': \'yellow\', \'secon         


        
4条回答
  •  爱一瞬间的悲伤
    2020-11-27 11:21

    Here's one way to do it:

    if not any(d['main_color'] == 'red' for d in a):
        # does not exist
    

    The part in parentheses is a generator expression that returns True for each dictionary that has the key-value pair you are looking for, otherwise False.


    If the key could also be missing the above code can give you a KeyError. You can fix this by using get and providing a default value. If you don't provide a default value, None is returned.

    if not any(d.get('main_color', default_value) == 'red' for d in a):
        # does not exist
    

提交回复
热议问题