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

如何实现Python函数接收可变数量的重复参数集合?

实现可变数量(方向,步数)对的move函数

当然可以,利用Python的*args参数就能完美接收这种可变数量的成对参数。*args会把函数调用时传入的所有位置参数打包成一个元组,我们只需要在函数内部把这个元组按**(方向,步数)**的成对规则拆解即可。

示例实现

def move(*args):
    # 先检查参数数量是否为偶数,确保每组方向都对应步数
    if len(args) % 2 != 0:
        raise ValueError("参数必须是成对的(方向,步数)组合")
    
    # 遍历拆解每一组方向和步数
    for i in range(0, len(args), 2):
        direction = args[i]
        steps = args[i+1]
        # 这里替换为实际的移动逻辑
        print(f"向{direction}移动{steps}步")

调用示例

# 传入3组(方向,步数)
move('上', 5, '左', 3, '下', 2)

# 输出:
# 向上移动5步
# 向左移动3步
# 向下移动2步

更优雅的拆解方式

可以用iter和zip简化成对遍历的代码,避免手动处理索引:

def move(*args):
    if len(args) % 2 != 0:
        raise ValueError("参数必须是成对的(方向,步数)组合")
    
    # 将args转为迭代器,每次取两个元素自动配对
    direction_steps = zip(*[iter(args)]*2)
    for direction, steps in direction_steps:
        print(f"向{direction}移动{steps}步")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:56:05