python - itertools 按多个键分组
问题描述
我正在使用itertools
以下内容group by
:dictionary key
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)
但是,如果可能的话,我想按 'device_id' 和 'port_id' 分组,我怎样才能在分组中添加一个额外的键?
解决方案
只需使用元组作为键:
itertools.groupby(temp_data, key=lambda x:(x['device_id'], x['port_id']))
推荐阅读
- github - 是否有与 Github Actions 等效的 Gitlab CI?
- mongodb - 查询文档以获取数组值为 null 的记录
- xcode - 使用按钮设置背景颜色
- git - Jenkins 将 Master 或 Tagged 分支部署到生产环境
- python - 按像素值分割图像
- javascript - 像 readFileSync 函数这样的函数在 Node.js 中是如何工作的?
- amazon-web-services - Terraform 0.12:提供商产生的最终计划不一致
- python - Pyspark 合并 2 个数据帧而不丢失数据
- google-apps-script - 展开/折叠受保护工作表中的列
- microsoft-cognitive - 无法提交要分析的表格