【问题标题】:TypeError: 'list' object is not callable [duplicate]TypeError:'list'对象不可调用[重复]
【发布时间】:2013-09-16 11:32:36
【问题描述】:

我找不到我面临的问题...
这正是错误告诉我的内容:

File "C:/Users/Rodrigo Villalta/Desktop/listasparimpar.py", line 38,
in listas_par_impar
    if lista2(m) > lista2 [m+1]: TypeError: 'list' object is not callable

这是代码:

def listas_par_impar(lista,lista2):
lista3=[]
lista4=[]
for i in lista2:
    if i % 2 == 0:
      lista=lista+[i]

    else:
        pass

for i in lista:
    if i %2 != 0:
        lista2=lista2+[i]

    else:
        pass

for i in lista:
    if i%2==0:
        if i not in lista3:
            lista3=lista3+[i]
            lista=lista[1:]

for i in lista2:
    if i%2!=0:
        if i not in lista4:
            lista4=lista4+[i]

            lista=lista[1:]

for recorrido in range(1,len(lista)):
    for posicion in range(len(lista)-recorrido):
        if lista(posicion) > lista [posicion+1]:
            lista[posicion], lista[posicion+1] = lista[posicion+1], lista[posicion]

for r in range(1,len(lista2)):
    for m in range(len(lista2)-r):
        if lista2(m) > lista2 [m+1]:
            lista2[m], lista2[m+1] = lista2[m+1], lista2[m]

print (lista4, lista3)

【问题讨论】:

    标签: python


    【解决方案1】:
    if lista2(m) > lista2 [m+1]:
    

    应该是:

    if lista2[m] > lista2 [m+1]:
    

    【讨论】:

      【解决方案2】:

      在这一行:

      if lista2(m) > lista2 [m+1]:
      

      …你写的是lista2(m)而不是lista2[m]

      这意味着您正在尝试像函数一样调用lista2,并带有参数m。你想做的是索引lista2,就像一个列表,索引m

      【讨论】:

      • 哦,那是愚蠢的..但还是谢谢你。
      • @RodrigoVillalta:每个人都会犯这类错误。关键是学习阅读回溯,这样您就可以立即发现并修复错误,而不必仔细研究整个程序来试图找出问题所在,或者去问其他人。
      猜你喜欢
      • 2019-04-02
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      • 2015-09-14
      • 2012-04-21
      • 2021-08-26
      • 2014-06-13
      相关资源
      最近更新 更多