You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改循环以调用含两个及以上参数的Python函数?

解决方法

根据你的需求,分几种常见场景修改循环即可:

场景1:所有DataFrame共用同一个arg2参数

如果arg2是固定值,直接在调用函数时传入,原有循环结构基本不用改:

def Routine(arg1, arg2):
    # 实现逻辑
    pass

# 固定的arg2参数值
fixed_arg2 = "你的固定参数内容"

# 遍历DataFrame并调用函数
for df in [df_AAPL, df_AMD, df_AMZN]:
    Routine(df, fixed_arg2)

# 如果需要用到索引idx,保留enumerate即可
for idx, df in enumerate([df_AAPL, df_AMD, df_AMZN]):
    Routine(df, fixed_arg2)

场景2:每个DataFrame对应不同的arg2参数

如果每个DataFrame需要搭配专属的arg2,把DataFrame和对应参数打包成元组,放在列表里遍历:

def Routine(arg1, arg2):
    # 实现逻辑
    pass

# 将DataFrame与对应arg2配对成元组
df_param_pairs = [
    (df_AAPL, "AAPL专属参数"),
    (df_AMD, "AMD专属参数"),
    (df_AMZN, "AMZN专属参数")
]

# 遍历配对列表调用函数
for df, arg2 in df_param_pairs:
    Routine(df, arg2)

# 需要索引时用enumerate包裹
for idx, (df, arg2) in enumerate(df_param_pairs):
    Routine(df, arg2)

扩展:支持更多参数

如果后续要添加arg3、arg4等参数,只需扩展元组内容,或用参数解包的方式更灵活:

def Routine(arg1, arg2, arg3, arg4):
    # 实现逻辑
    pass

# 打包多组参数
df_multi_params = [
    (df_AAPL, "AAPL_arg2", 100, True),
    (df_AMD, "AMD_arg2", 200, False),
    (df_AMZN, "AMZN_arg2", 300, True)
]

# 解包参数调用函数
for params in df_multi_params:
    Routine(*params)

注意:函数定义行末尾要加冒号:,你原来的代码里漏写了,会导致语法错误。

内容的提问来源于stack exchange,提问作者GhettoCoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 17:05:21