Python itertools按多个键分组

Python itertools按多个键分组,python,itertools,Python,Itertools,我正在使用itertools通过a字典键对进行分组,方法如下: host_data = [] for k,v in itertools.groupby(temp_data, key=lambda x:x['device_id']) d = {} for dct in v: d.update(dct) host_data.append(d) 但是,如果可能的话,我想按“设备id”和“端口id”进行分组,如何向分组中添加额外的键?将键设置为元组:key=l

我正在使用
itertools
通过
a
字典键
进行分组,方法如下:

host_data = []
for k,v in itertools.groupby(temp_data, key=lambda x:x['device_id'])
    d = {}
    for dct in v:
        d.update(dct)
    host_data.append(d) 

但是,如果可能的话,我想按“设备id”和“端口id”进行分组,如何向分组中添加额外的键?

将键设置为元组:
key=lambda x:(x['device\u id',x['port\u id'])
只需使用元组作为键:

itertools.groupby(temp_data, key=lambda x:(x['device_id'], x['port_id']))
您可以使用创建2元组分组键:

从操作员导入itemgetter
...
groupby(临时数据,key=itemgetter('device\u id','port\u id'))

@pylang:我有什么打字错误?