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
谢谢施沃巴塞格,这正是我所希望的