我正在尝试通过比较第一项来对列表列表进行分组,当代码运行时,我得到一个“列表对象不可调用错误”
以下是我的所有参考代码
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
关于问题可能是什么的任何想法?提前致谢
答案 0 :(得分:3)
您正在寻找
gb = groupby(stuff, lambda item: item[0])
第二个参数是key
函数,它应用于每个项目并应返回组密钥。与排序原理相同。