列表参数在函数内部不起作用

时间:2018-12-20 19:09:45

标签: python-2.7 list function parameters

让我们说我有4个空变量和2个列表:

v1 = ""
v2 = ""
v3 = ""
v4 = ""

list_1 = ['2', '7', '18', '3']
list_2 = ['75', '8', '0', '13']

现在,我想创建一个函数,该函数将使用列表作为参数为空变量赋值:

def assigner(list_a):
    for item in list_a:
      v1 = list_a[0]
      v2 = list_a[1]
      v3 = list_a[2]
      v4 = list_a[3]

因此,我调用了该函数,然后尝试使用一个变量来检查是否已根据列表分配了新值。但是我只看到''。怎么了?

   assigner(list_1)
   print(v2)
   >>> ''

1 个答案:

答案 0 :(得分:2)

docker run --rm -it -v $(pwd):/source -p 7777:7777 -e container=docker --privileged schickling/rust内部定义的

foo = np.arange(9) bar = foo[:3] print(bar) bar = foo[3:6] print(bar) bar = foo[6:] print(bar) 对于该函数而言是本地的,并且不影响在其外部定义的那些。任何不雅观的IDE都会显示警告,这些局部变量会遮盖具有相同名称的全局变量。

没有关系,但是该循环没有用。

在这里使用功能是多余的,您只需解压缩列表即可:

v1, ..., v4

如果您坚持使用某个函数(或者您需要一个函数,即具有一些逻辑而不是简单地分配),请确保assigner来自该函数的变量:

v1, v2, v3, v4 = ['2', '7', '18', '3']

有人会建议实际使用return变量,但建议使用9/10次。