group_by 返回重复的键

2024-01-30

Python 3.6 我有一个简单的对象列表:

for obj in obj_ts:
    print(obj['address'])

这告诉我:

mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mhRhCZBUP1BsrL6xuXSeAeCNnXcoBHWKAB
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR

然后我想按这些对象进行分组:

for address, t_list in itertools.groupby(obj_ts, key=lambda obj: obj['address']):
    print(address)

但我得到了 3 组而不是 2 组。

mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR
mhRhCZBUP1BsrL6xuXSeAeCNnXcoBHWKAB
mwpJCSEEkphA1utQGA2Y9Vx8cufv85CgpR

评论中的解决方案:

正如 groupby 文档第一段中提到的,您需要 在将数据传递给之前对数据进行排序(使用相同的键函数) 通过...分组

https://docs.python.org/3/library/itertools.html#itertools.groupby https://docs.python.org/3/library/itertools.html#itertools.groupby

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

group_by 返回重复的键 的相关文章

随机推荐