Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:';列表';对象不可调用_Python_List_Loops_For Loop - Fatal编程技术网

Python:';列表';对象不可调用

Python:';列表';对象不可调用,python,list,loops,for-loop,Python,List,Loops,For Loop,我有一个函数,试图在一系列长度列表上循环,以获得ASCII字母: def query_execute (self,query, range): list_titles = [] list_colunmns_letters = [] cursor.execute(query, range) description = cursor.description row = cursor.fetchall() number_columns = len(de

我有一个函数,试图在一系列长度列表上循环,以获得ASCII字母:

def query_execute (self,query, range):

    list_titles = []
    list_colunmns_letters = []
    cursor.execute(query, range)
    description = cursor.description
    row = cursor.fetchall()
    number_columns = len(description)

    for word in description:
        list_titles.append(word[0])

    for m in range (0,number_columns):
        list_colunmns_letters.append(string.ascii_uppercase[m])

    return row,list_titles,list_colunmns_letters
这给了我一个错误:

对于范围内的m(0,数字列):
TypeError:“列表”对象不可调用


由于
number\u columns
变量是一个整数,我不明白为什么会发生此错误,我没有调用列表。

您将
range
作为函数的参数,将其用作本地名称:

def query_execute (self,query, range):
#                              ^^^^^
然后也不能使用全局内置名称。将参数重命名为其他参数;我使用了
params

def query_execute (self, query, params):
    list_titles = []
    list_colunmns_letters = []
    cursor.execute(query, range)
    description = cursor.description
    row = cursor.fetchall()
    number_columns = len(description)

    for word in description:
        list_titles.append(word[0])

    for m in range(0, number_columns):
        list_colunmns_letters.append(string.ascii_uppercase[m])

    return row, list_titles, list_colunmns_letters

您使用
range
作为函数的参数,将内置的
range
替换为一个列表。实际上,我正在用另一个范围调用此函数:for I in range(0,5):row=sql\u querys.query\u execute(sql\u querys.query\u test,[I])[0]()那么?您不需要命名传入的列表(使用
[i]
范围。