gpt4 book ai didi

Python 使用 *args 填充函数的输入参数

转载 作者:行者123 更新时间:2023-11-28 21:10:16 32 4
gpt4 key购买 nike

如果我有一个支持可变参数数量的函数,即使用 *args,我如何从循环/列表理解中填充参数?假设该函数需要多个列表作为参数,而我有一个表/数据框并想将每一列用作输入参数,为什么这不起作用?

funName([df[iCol].df.columns 中 iCol 的值])

假设我的数据框有 5 列,我需要像这样调用函数:

funName(col1, col2, col3, col4, col5)

但我不想为每一列手动创建变量,而是动态填充参数列表。谢谢。

最佳答案

传入列表时解压列表:

funName(*[df[iCol].df.columns 中 iCol 的值])

列表解包是必需的,因为如果不这样做,fn 将得到一个参数,它是一个列表,比如 [1, 2, 3],并且您需要一系列参数 1, 2, 3

例如:

>>> def fn(*args):
... print args
...
>>> fn([1, 2, 3])
([1, 2, 3],)
>>> fn(*[1, 2, 3])
(1, 2, 3)
>>>

关于Python 使用 *args 填充函数的输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36867328/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com