如何按其第一个元素对 Python 元组元素进行分组?


Python 有一个称为 defaultdict 的函数,它按元组元素的第一个元素对 Python 元组元素进行分组。

示例

lst = [
   (1, 'Hello', 'World', 112),
   (2, 'Hello', 'People', 42),
   (2, 'Hi', 'World', 200)
]

from collections import defaultdict

d = defaultdict(list)
for k, *v in lst:
   d[k].append(v)
print(d)

输出

将得到输出

defaultdict(<class 'list'>, {1: [['Hello', 'World', 112]], 2: [['Hello', 'People', 42], ['Hi', 'World', 200]]})

你可以使用 tuple(d.items()) 方法将此转换回元组,同时保留分组。

示例

print(tuple(d.items()))

输出

将得到输出

((1, [['Hello', 'World', 112]]), (2, [['Hello', 'People', 42], ['Hi', 'World', 200]]))

更新日期: 05-3-2020

565 次浏览

开启职业生涯 生涯

通过完成课程获得认证

开始
广告