Python ';int';对象在使用groupby时不可调用
我正在尝试使用以下代码查找列表中最长的数字序列Python ';int';对象在使用groupby时不可调用,python,Python,我正在尝试使用以下代码查找列表中最长的数字序列 from itertools import groupby ggg = groupby([1,2,3,3,3,5,88,9,9,9,9,9,9,9,1,1,1,2,2,3,3,3,3,3]) max(ggg, key=lambda k: len(list(k[1]))) 但是,我发现错误“int”对象不可调用。此外,我正在使用Python3 代码对我来说很好: >>> from itertools import groupby
from itertools import groupby
ggg = groupby([1,2,3,3,3,5,88,9,9,9,9,9,9,9,1,1,1,2,2,3,3,3,3,3])
max(ggg, key=lambda k: len(list(k[1])))
但是,我发现错误“int”对象不可调用。此外,我正在使用Python3 代码对我来说很好:
>>> from itertools import groupby
>>> ggg = groupby([1,2,3,3,3,5,88,9,9,9,9,9,9,9,1,1,1,2,2,3,3,3,3,3])
>>> max(ggg, key=lambda k: len(list(k[1])))
(9, <itertools._grouper object at 0x019973F0>)
来自itertools导入groupby的>
>>>ggg=groupby([1,2,3,3,5,88,9,9,9,9,9,9,1,1,2,2,3,3,3,3])
>>>max(ggg,key=lambda k:len(列表(k[1]))
(9, )
正如@FamousJameous所提到的,您正在使用的函数之一似乎被分配给了一个整数。这是一个很好的例子,说明了为什么选择变量名时要小心,因为它们可能会抹去现有函数。考虑:
>>> x = [1,2,3]
>>> len = len(x)
>>> len(x)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
>x=[1,2,3]
>>>len=len(x)
>>>len(x)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“int”对象不可调用
代码对我来说很好:
>>> from itertools import groupby
>>> ggg = groupby([1,2,3,3,3,5,88,9,9,9,9,9,9,9,1,1,1,2,2,3,3,3,3,3])
>>> max(ggg, key=lambda k: len(list(k[1])))
(9, <itertools._grouper object at 0x019973F0>)
来自itertools导入groupby的>
>>>ggg=groupby([1,2,3,3,5,88,9,9,9,9,9,9,1,1,2,2,3,3,3,3])
>>>max(ggg,key=lambda k:len(列表(k[1]))
(9, )
正如@FamousJameous所提到的,您正在使用的函数之一似乎被分配给了一个整数。这是一个很好的例子,说明了为什么选择变量名时要小心,因为它们可能会抹去现有函数。考虑:
>>> x = [1,2,3]
>>> len = len(x)
>>> len(x)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
>x=[1,2,3]
>>>len=len(x)
>>>len(x)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“int”对象不可调用
您的代码在Python 3中适用于我。我的最佳猜测是,您的问题来自将len
、list
或max
指定为int
。例如:
>>> list_a = [1, 2]
>>> len(list_a)
2
>>> len = 4
>>> len(list_a)
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
len(list_a)
TypeError: 'int' object is not callable
列表a=[1,2]
>>>len(列表a)
2.
>>>len=4
>>>len(列表a)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
len(列表a)
TypeError:“int”对象不可调用
您的代码在Python 3中适用于我。我的最佳猜测是,您的问题来自将
len
、list
或max
指定为int
。例如:
>>> list_a = [1, 2]
>>> len(list_a)
2
>>> len = 4
>>> len(list_a)
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
len(list_a)
TypeError: 'int' object is not callable
列表a=[1,2]
>>>len(列表a)
2.
>>>len=4
>>>len(列表a)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
len(列表a)
TypeError:“int”对象不可调用
您可能在某个时候为名为
max
、len
或list
的变量分配了int
。您的代码对我有效。您可能在某个时候为名为max
、len
或list
的变量分配了int
。你的代码适合我。请不要将文本作为图像发布。将文本复制并粘贴到问题中。图像是不可搜索的,屏幕阅读器无法为有视觉障碍的人解读图像。使用链接修改您的问题。有关详细信息,请参阅。请不要将文本作为图像发布。将文本复制并粘贴到问题中。图像是不可搜索的,屏幕阅读器无法为有视觉障碍的人解读图像。使用链接修改您的问题。有关更多信息,请参阅。