list>TypeError中的max value:“int”对象不可调用)

2024-10-01 11:22:22 发布

您现在位置:Python中文网/ 问答频道 /正文

这里是Python初学者,我以前用过搜索,但没有发现问题:
我将3个列表的长度(例如,名为“Zeilen1”)分配给一个变量:

l1 = len(Zeilen1)

我对另外两个名为l2和l3的变量执行此操作,方法与其他2个列表的长度相同。在

然后我将变量插入一个名为Laengen的列表中:

^{pr2}$

现在我想找到列表的最大值。
我试着在各个方面使用max(s)函数,有点让我困惑的是它第一次起作用了。现在每次尝试都会出现这样的错误:

TypeError: 'int' object is not callable

当我在搜索之前发现一个int值是不可调用的,就像你通常调用一个函数一样,但是我没有得到我需要的函数。在

还有一个小问题:当我首先声明值为l1、l2、l3=0的列表时,请稍后为这些值指定其他数字,并在最后打印列表,它将打印0,0,0。
列表是否只保留这些值,直到我再次插入它们?在


Tags: 方法函数l1列表len错误maxint
2条回答

it worked the first time

然后有一些max值,它严格地说是一个整数。例如。在

max = max(some_list) # this works

你再试一次

^{pr2}$

When I declare the list with the values l1,l2,l3 = 0 first, assign other numbers to the values later and print the list at the end it prints 0,0,0

您不需要l1,l2,l3,而是使用列表

Laengen = [0,0,0]
# Laengen[0] = ...
# Laengen[1] = ...

我可以介绍一下变量调试器:

def debug(*args):
    print('Variable debugger output:')
    for arg in args:
        if arg in ["__builtins__", "inspect", "debug"]:
            continue  # skip these variables
        try:
            var = eval(arg)
            print('{0}: {1} {2}\n'.format(arg, type(var), var))
        except (TypeError, NameError):
            print('{0}: {1}\n'.format(type(arg), arg))

通过debug(*dir())在程序中的任何点使用(示例输出):

^{pr2}$

或对于特定变量debug(max)

>>> debug(max)
Variable debugger output:
<type 'builtin_function_or_method'>: <built-in function max>

正如cricket_007所说,如果覆盖max = 5,那么它会显示:

>>> max = 5
>>> debug(max)
Variable debugger output:
<type 'int'>: 5

因此,在你的错误之前,删除一个debug(*dir()),它会告诉你在这一点上什么都是什么。你可能会惊讶地看到结果。在

要删除交互式会话中的本地变量,请使用del <var>

相关问题 更多 >