更新:为了清楚起见,我想检查“姓名”和“姓氏”的键值,并且仅当这些不在列表中时才添加。
我有:
lst = [{'name':'John', 'last':'Smith'.... .... (other key-values)... },
{'name':'Will', 'last':'Smith'... ... (other key-values)... }]
只有当它与现有词典不完全相同时,我才想将新词典附加到此列表中。
换句话说:
dict1 = {'name':'John', 'last':'Smith'} # ==> wouldn't be appended
但是……
dict2 = {'name':'John', 'last':'Brown'} # ==> WOULD be appended
有人可以用英语解释解决方案中发生的事情的最简单方法吗?谢谢!
引用:Python: Check if any list element is a key in a dictionary
最佳答案
由于您要求一种只检查两个键的方法,即使字典中有其他键也是如此:
name_pairs = set((i['name'], i['last']) for i in lst)
if (d['name'], d['last']) not in name_pairs:
lst.append(d)
关于python - 字典列表检查键 :value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11219011/