我是python的新手。现在我需要声明大小为20的数组并将数组传递给函数。
期望数组的函数如下:
function(*args)
args
是function()
的输入。
任何人都可以帮助我,如何在python中传递数组?
答案 0 :(得分:7)
当你说“数组”时,我认为你的意思是Python list
,因为当数组用于其他语言时,它经常用于Python。 Python实际上有几种数组类型:list
,tuple
和array
;流行的第三方模块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
调用中的function
将a
列表解压缩为单独的参数,但*arg
定义中的function
将它们重新打包为元组。
有关*
的这些用法的详情,请参阅Python教程中的Arbitrary Argument Lists和Unpacking 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)