用数组参数声明python函数并将数组参数传递给函数调用?

用数组参数声明python函数并将数组参数传递给函数调用?,python,function,parameters,arguments,Python,Function,Parameters,Arguments,我是python的新手,尝试将数组作为参数传递给python函数,该函数将列表/数组声明为参数 我肯定我说的是错的 下面是: def dosomething(listparam): #do something here dosomething(listargument) 很明显这不起作用,我做错了什么 谢谢您所拥有的一切都在正确的轨道上 def dosomething( thelist ): for element in thelist: print

我是python的新手,尝试将数组作为参数传递给python函数,该函数将列表/数组声明为参数

我肯定我说的是错的

下面是:

def dosomething(listparam):
         #do something here
dosomething(listargument)
很明显这不起作用,我做错了什么


谢谢

您所拥有的一切都在正确的轨道上

def dosomething( thelist ):
    for element in thelist:
        print element

dosomething( ['1','2','3'] )
alist = ['red','green','blue']
dosomething( alist )  
生成输出:

1
2
3
red
green
blue

在上面的评论中有几点需要注意:与C族语言不同,在迭代列表时通常不需要跟踪索引,除非索引本身很重要。但是,如果您确实需要索引,您可以使用
enumerate(list)
来获取
索引,元素
对,而不是执行
x-in-range(len(thelist))
舞蹈。

也许您想要解压缩数组的元素,我不知道是否得到了它,但下面是一个示例:

def my_func(*args):
    for a in args:
        print a

my_func(*[1,2,3,4])
my_list = ['a','b','c']
my_func(*my_list)

我想我不清楚OP到底想要什么。。。是否要传递整个数组/列表并在函数中对其进行操作?还是希望对数组/列表中的每个值/项执行相同的操作。如果后者是你所希望的,我已经找到了一个很好的方法

我更熟悉Fortran和C等编程语言,在这些语言中可以定义对数组中的每个元素进行操作的基本函数。我最终找到了与此等价的python,并认为我将在这里重新发布解决方案。关键是“矢量化”函数。以下是一个例子:

def myfunc(a,b):
    if (a>b): return a
    else: return b
vecfunc = np.vectorize(myfunc)
result=vecfunc([[1,2,3],[5,6,9]],[7,4,5])
print(result)
输出:

[[7 4 5]
 [7 6 9]]

它应该会起作用。你能展示一些真实的代码吗?你能提供一些更多的上下文,也许是实际失败的代码吗?(如有可能,将其设置为一个)。你所说的声明是什么意思?哦,是的,这绝对是我的错…我是这样做的:对于范围内的x(len(list)):打印x;而不是打印列表[x]…谢谢大家!这看起来是正确的;您是否收到特定的错误消息?也许您没有在listargument中声明/放置某些内容?我想您的意思是
enumerate(list)