Python 如何同时遍历列表?

Python 如何同时遍历列表?,python,Python,我有一个样本,它在表格中给出了值 [p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p12 p13 p14 p15 p16] 打印(样本) 我想使用一个函数遍历这个示例,该函数接受16个输入,并给出一个值作为输出 我该怎么做? 例如,以需要16个输入的函数模型(p1、p2、p3、p4、p5、p6等)为例 我想遍历这个示例,这样它就可以了 型号(1.43945312,4.29003906,9.55566406,…61.11035156,66.15917969,69.03417969)

我有一个样本,它在表格中给出了值 [p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p12 p13 p14 p15 p16]

打印(样本)

我想使用一个函数遍历这个示例,该函数接受16个输入,并给出一个值作为输出

我该怎么做? 例如,以需要16个输入的函数模型(p1、p2、p3、p4、p5、p6等)为例 我想遍历这个示例,这样它就可以了

型号(1.43945312,4.29003906,9.55566406,…61.11035156,66.15917969,69.03417969)

(这是第一个样本),然后保存输出

然后它会移到第二个样本上

型号(2.98242188,4.29003906,9.55566406,…61.11035156,66.15917969,69.03417969)

并保存输出。。诸如此类

这有意义吗?很抱歉,我是Python新手,还不知道确切的术语
如何执行此操作

使用for循环和iterable解包:

def model(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16):
    pass # do something

output = []
for sample in data: # iterate over samples
    print(len(sample))
    result = model(*sample)
    output.append(result)

@Programmer的答案很好 您可能想使用函数声明中的*args。 这使您能够拥有可变数量的参数,并将它们作为列表引用,因此不需要指定所有16个参数

def方法(*args):
p1=args[0]
...
p16=args[15]
#或者你想用它们做什么。

但是,如果您没有为方法提供足够的参数,这可能会导致
索引器
。这取决于您希望对函数执行的操作。

模型(*sample[0])
?您好,对循环使用double
,显示的数据是列表列表,这意味着您首先迭代第一个列表,然后在第二个列表中,你得到了所有的数据。第一个答案比较优雅,但对一些python新手来说并不友好。@WiLL_K-这不是答案,这是一个注释,因为我不知道op到底想做什么。如果你的评论应该是一个答案,那么你应该在答案部分这样做below@Sayse结尾处的问号表示您正试图询问用户这是否是他们想要做的。对不起,如果我把它错当成了答案,我很不幸在做这件事时出错了,这似乎是我以前遇到的问题。。。我正在尝试进行敏感性分析
TypeError:model()接受16个位置参数,但给出了1800个
我在代码中添加了调试打印;您能重新运行代码并将输出添加到您的问题中吗?完成后请给我留言
def model(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16):
    pass # do something

output = []
for sample in data: # iterate over samples
    print(len(sample))
    result = model(*sample)
    output.append(result)