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:我有什么打字错误?