1
我有一个两元组元组列表:(object, timestamp)
。操作元组列表
我想做一个生成器返回列表,其中每个列表包含共享相同时间戳的元组。
另一个需求是生成器返回的第一个列表是最早时间戳的列表。
为了方便,我们假设时间戳是自然数:1, 2, 3, ...
。
有没有Python的内置工具这样的事情或解决方案是天真的实现?
我有一个两元组元组列表:(object, timestamp)
。操作元组列表
我想做一个生成器返回列表,其中每个列表包含共享相同时间戳的元组。
另一个需求是生成器返回的第一个列表是最早时间戳的列表。
为了方便,我们假设时间戳是自然数:1, 2, 3, ...
。
有没有Python的内置工具这样的事情或解决方案是天真的实现?
您可以用operator
和itertools
帮助做到这一点:
from operator import itemgetter
from itertools import groupby
def grouped(mytuples):
for timestamp, items in groupby(sorted(mytuples, key=itemgetter(1)),
key=itemgetter(1)):
yield timestamp, list(items)
@eugeney完美的谢谢你。 –
出了什么问题排序和使用'itertools.groupby()'? –
Igancio与“排序或排序”功能一起表示会做你所问的。 – The6thSense
@ IgnacioVazquez-Abrams也谢谢你:) –