Python:如何访问函数中数组参数的元素?

2024-09-28 20:50:34 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑这个最小的例子:

def arfunc(x,*a):
    sa=a[1]
    return sa

b=arfunc(1.,(5.,2.))
print(b)

我需要传递一个数组,它的长度可能因函数而异,然后处理该函数中的各个数组元素。如果我在函数中用a[0]交换a[1],则返回整个列表。为什么这不起作用,我该怎么做呢?在


Tags: 函数元素列表returndefsa数组例子
3条回答

你错过了一件事,那就是如果我们必须通过一个需要添加*(星号)的函数传递可变长度参数(python中称为任意参数)

def arfunc(x,*a):   # here *a can hold argument that may vary in numbers.
    sa=a[1]
    return sa

b=arfunc(1.,*(5.,2.)) # here you also have to provide a arbitary arguments like this.
print(b)

为了更好地理解,请参考以下书面代码:

^{pr2}$

接受变量参数(*args)的函数需要它们作为多个参数:

b=arfunc(1., 5., 2.)
print(b)

如果要像以前那样使用函数,请删除星号:

^{pr2}$

函数定义中的符号允许函数具有可变类型。变量a将成为第一个变量之后传递的所有位置参数的集合:x。在

不需要使用*符号来让a具有可变长度。列表在Python中已经具有该属性。在

相关问题 更多 >