使用groupby时,List对象不可调用

时间:2013-09-01 18:42:32

标签: python itertools

我正在尝试通过比较第一项来对列表列表进行分组,当代码运行时,我得到一个“列表对象不可调用错误”

以下是我的所有参考代码

import code
from itertools import groupby

stuff = [[1, 'a'], [1, 'b'], [1, 'c'], [2, 'a'], [2, 'b'], [2, 'c'], [2,'d']]

gb = groupby(stuff, stuff[0])

code.interact(local=locals())

控制台

>>> gb
<itertools.groupby object at 0x000000000334C4A8>
>>> for item in gb:
...     print(item)
... 
Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: 'list' object is not callable

关于问题可能是什么的任何想法?提前致谢

1 个答案:

答案 0 :(得分:3)

您正在寻找

gb = groupby(stuff, lambda item: item[0])

第二个参数是key函数,它应用于每个项目并应返回组密钥。与排序原理相同。