如何检查字典列表中的某个字段是否相等?

时间:2018-10-05 20:45:45

标签: python python-3.x

给出所有都包含一些公共键的字典(在下面的示例中为a),如何用Python检查与所有此类键相关联的值是否相同?

示例: 检查所有字典中的a是否相同。

dicts = [{'a': 1, 'b':2}, {'a': 1, 'c':2}, {'a': 1, 'd':2}, {'a': 1, 'e':2}]
last_key = None
for d in dicts:
    if last_key is None:
        last_key = d['a']
    else:
       if last_key != d['a']:
          return False
return True

1 个答案:

答案 0 :(得分:0)

怎么样:

len({d[key] for d in dicts}) == 1

或使用您的示例:

def equal_key(dicts, key):
    return len({d[key] for d in dicts}) == 1

print(equal_key([{'a': 1, 'b':2}, {'a': 1, 'c':2}, {'a': 1, 'd':2}, {'a': 1, 'e':2}], 'a')  # True