在python中将数组作为参数传递

时间:2016-04-14 10:12:11

标签: python

我是python的新手。现在我需要声明大小为20的数组并将数组传递给函数。

期望数组的函数如下:

function(*args)

argsfunction()的输入。

任何人都可以帮助我,如何在python中传递数组?

3 个答案:

答案 0 :(得分:7)

当你说“数组”时,我认为你的意思是Python list,因为当数组用于其他语言时,它经常用于Python。 Python实际上有几种数组类型:listtuplearray;流行的第三方模块Numpy也提供数组类型。

要将单个列表(或其他类似数组的容器)传递给使用单个*args参数定义的函数,您需要使用*运算符在函数调用中解压缩列表。

这是一个在Python 2或Python 3上运行的示例。我已经制作了一个长度为5的列表来保持输出简短。

def function(*args):
    print(args)
    for u in args:
        print(u)

#Create a list of 5 elements
a = list(range(5))
print(a)

function(*a)        

<强>输出

[0, 1, 2, 3, 4]
(0, 1, 2, 3, 4)
0
1
2
3     
4 

请注意,当function打印args时,输出显示在括号()中,而不是括号[]。这是因为括号表示一个列表,括号表示一个元组。 *a调用中的functiona列表解压缩为单独的参数,但*arg定义中的function将它们重新打包为元组。

有关*的这些用法的详情,请参阅Python教程中的Arbitrary Argument ListsUnpacking Argument Lists。另请参阅What does ** (double star) and * (star) do for Python parameters?

答案 1 :(得分:-2)

尺寸无关紧要。

只需将<div class="container"> <div class="container"></div> </div> 传递给函数。

list

为此目的,您不需要*args序列解包。

答案 2 :(得分:-2)

我认为您需要的比预期更容易:

def arrayIn(arrayFunc):
    print(arrayFunc)

arraySize = 20
mineArray = [None]*arraySize
arrayIn(mineArray)