【问题标题】:'List' object is not callable“列表”对象不可调用
【发布时间】:2014-11-30 07:39:19
【问题描述】:

我有一个赋值程序,它从文本文件中生成整数列表。然后它使用插入或冒泡排序对数据进行排序。我选择了冒泡排序。如有必要,我可以切换,但它们都是 O(n^2)(我相信)。整数表示街道上的距离。目标是通过找到列表的中位数来计算开新店的最佳位置。但是,当我运行到目前为止的内容时,我收到一条错误消息,指出“列表”对象不可调用。我不明白这个错误。

def make_list(perkList,fileName):


    with open(fileName) as f:
        for line in f.readlines():
            line = line.split()
            perkList.append(int(line[1]))# reason for this is there is a string in line[0]
    return perkList


def perkSort(perkList):

    sorted = False
    while not sorted:
        sorted = True
        for i in range(len(perkList)-1):
            if perkList[i] > perkList[i+1]:
                sorted = False
                perkList[i], perkList[i+1] = perkList[i+1], perkList[i]
    print("sorted List",perkList)




def median(perkList):
    middle = len(perkList)//2
    if middle % 2 == 0:
        return (perkList(middle) + perkList(middle - 1))//2
    else:
        return perkList(middle)
def main()
    perkList = []
    fileName = input("Enter file name: ")
    make_list(perkList,fileName)
    print(perkList)
    perkSort(perkList)
    median(perkList)
main()

我的列表是 [70, 120, 170, 200]

Traceback (most recent call last): sorted List [70, 120, 170, 200] File "C:/Users/User'/PycharmProjects/messes/findSlow.py", line 43, in <module> median(perkList) File "C:/Users/User'/PycharmProjects/messes/findSlow.py", line 34, in median return (perkList(middle) + perkList(middle - 1))//2 TypeError: 'list' object is not callable

【问题讨论】:

  • 我意识到这不是问这个问题的最佳方式。我会尽力消除任何困惑。
  • 你能告诉我们traceback吗?

标签: python sorting search


【解决方案1】:

而不是这个:

perkList(middle)

你需要这个:

perkList[middle]

【讨论】:

  • 该死的我现在感觉很笨。不过谢谢你:)
猜你喜欢
  • 2011-09-02
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 2017-11-15
  • 2019-01-05
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多