Python 3.x 对多个字典中的键进行排序

Python 3.x 对多个字典中的键进行排序,python-3.x,dictionary,Python 3.x,Dictionary,我有一个包含多个小词典的列表,如下所示: _history = [{ "field" : "field01", "mode" : "write"}, { "field" : "field02", "mode" : "write"}, { "field" : "field03", "mode" : "write"}, { "field" : "field01", "mode" : "clear"}] 我感兴趣的是处理字典列表

我有一个包含多个小词典的列表,如下所示:

_history = [{ "field" : "field01", "mode" : "write"},
            { "field" : "field02", "mode" : "write"},
            { "field" : "field03", "mode" : "write"},
            { "field" : "field01", "mode" : "clear"}]

我感兴趣的是处理字典列表并确定同一字段值是否多次出现(在本例中为“field01”)的最佳方法,如果出现,我想验证模式是否相同。在上面的示例中,我在field01上有一个冲突,我想提出一个异常

您可以执行以下操作:

from itertools import groupby
from operator import itemgetter

def validate(hist)
    key = itemgetter('field')
    for k, g in groupby(sorted(hist, key=key), key=key):
        s = set(d['mode'] for d in g)
        if len(s) > 1:
            raise ValueError(k)

>>> validate(_history)
Traceback ...
ValueError: field01

谢谢施沃巴塞格,这正是我所希望的