Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 2.7中的括号_Python_Python 2.7 - Fatal编程技术网

更改列表python 2.7中的括号

更改列表python 2.7中的括号,python,python-2.7,Python,Python 2.7,我正试图弄明白为什么我的代码会给我: ([20, 50, 80, 110], [0, 1, 2, 3], [1, 1, 1, 1]) 而不是: [[20, 50, 80, 110], [0, 1, 2, 3], [1, 1, 1, 1]] 有人知道如何更改括号吗 def get_col_contents_and_positions_(x,y): list1=[] list2=[] list3=[] for i in range(len(x)):

我正试图弄明白为什么我的代码会给我:

([20, 50, 80, 110], [0, 1, 2, 3], [1, 1, 1, 1]) 
而不是:

[[20, 50, 80, 110], [0, 1, 2, 3], [1, 1, 1, 1]] 
有人知道如何更改括号吗

def get_col_contents_and_positions_(x,y):
    list1=[]
    list2=[]
    list3=[]
    for i in range(len(x)):
        if y in range(len(x)):
            list1.append(x[i][y])
            list2.append(i)
            list3.append(y)
    return list1, list2, list3 

mat = [[10,20,30],[40,50,60],[70,80,90],[100,110,120]]
print (get_col_contents_and_positions_(mat,1))

语法
list1、list2、list3
是元组语法,而不是列表语法。编写
[list1,list2,list3]
以构建等效列表。

此:

return list1, list2, list3 
表示“返回包含这三个列表的元组”。 元组也用圆括号表示
()
。列表用方括号表示
[]

如果要返回列表而不是元组,可以使用:

return [list1, list2, list3]
写:

返回列表。写作:

return (list1, list2, list3)
将只返回一个元组而不是列表。因此,请使用
[]
而不是
()
。为什么?元组通过使用
()
进行标识,如下所示:

(var1, var2, var3)
但是,列表用
[]
标识,如下所示:

[var1, var2, var3] 

这只是意味着你有一个元组,而不是一个列表
return[list1,list2,list3]
会做你想做的事,但你可能还是可以用元组做你想做的事。你的代码中有一个元组,而不是一个列表-你是在附加元组。如果您想要列表而不是返回
list1、list2、list3
return
[list1、list2、list3]
[var1, var2, var3]