如何在itertools.groupby中获取key / group的索引?

时间:2014-04-22 20:15:40

标签: python indexing itertools

使用groupby中的itertools函数时,是否有一种很好的方法来获取key/group元组的索引? 我想避免这样做:

index = 0
for key, group in itertools.groupby(myList, myFunc) :
  ...
  index += 1

是否可以使用枚举做一些事情?

1 个答案:

答案 0 :(得分:2)

您需要将keygroup放在括号中:

for index, (key, group) in enumerate(itertools.groupby(myList, myFunc)):

以下是演示:

>>> # lst represents what is returned by itertools.groupby
>>> lst = [(1, 2), (3, 4), (5, 6)]
>>> for i, (j, k) in enumerate(lst):
...     i, j, k
...
(0, 1, 2)
(1, 3, 4)
(2, 5, 6)
>>>