Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.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/8/python-3.x/16.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_Python 3.x - Fatal编程技术网

Python 协调更新列表并存储要调用的列表的函数

Python 协调更新列表并存储要调用的列表的函数,python,python-3.x,Python,Python 3.x,下面的函数存储两个数组“a”和“b”,用于线性回归图。调用该函数以使用coords(0,0)检索程序中其他位置的坐标,因此列表不会更新,而只是返回。然后在向每个列表添加坐标时调用coords(x,y)。但是,当添加它们时,它们不会被存储,因为当调用coords(0,0)检索更新的列表时,它只返回“a”和“b” 然后x=[4,5]y=[9,10]坐标(x,y)应该返回([0,1,2,3,4,5],[5,6,7,8,9,10])。我希望存储这些数据,这样coords(0,0)就不会添加任何其他内容,

下面的函数存储两个数组“a”和“b”,用于线性回归图。调用该函数以使用coords(0,0)检索程序中其他位置的坐标,因此列表不会更新,而只是返回。然后在向每个列表添加坐标时调用coords(x,y)。但是,当添加它们时,它们不会被存储,因为当调用coords(0,0)检索更新的列表时,它只返回“a”和“b”

然后x=[4,5]y=[9,10]坐标(x,y)应该返回([0,1,2,3,4,5],[5,6,7,8,9,10])。我希望存储这些数据,这样coords(0,0)就不会添加任何其他内容,而是返回([0,1,2,3,4,5],[6,7,8,9,10]),而不仅仅是“a”和“b”。我该怎么做呢

def coords(x, y)
    a = [0,1,2,3]
    b = [5,6,7,8]
    xList = a
    yList = b
    if x == 0:
        return(xList, yList)
    else:
        xList = xList + x
        yList = yList + y
        return(xList, yList)

列表是可变的,您正在为每个函数调用创建
a
b
。所以你需要让它们全球化。 试试这个:

a = [0,1,2,3]
b = [5,6,7,8]
def coords(x, y):
    if x == 0:
        return(a, b)
    else:
        a.extend(x)
        b.extend(y) # Faster and recommended way of adding elements to a #list.
        return(a, b)

变量名和函数名应遵循带有下划线的
小写形式。你能提供更多的上下文吗?为什么不能将数组存储在函数外部,甚至不能使用类?这是否回答了您的问题?是否
.extend()
返回
None
?我不确定@tomparko是如何做到这一点的……是的,删除了
全局
a=
b=
修复了它。你真的运行了这个吗?谢谢@amc我很忙,没有看到。再次感谢。