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

如何在字符串操作中使用*args?遇元组及转大写问题求解

解决方法

先明确*args的本质

*args本身就是把传入的多个位置参数打包成元组,所以你拿到元组是正常行为,核心是怎么基于这个元组实现字符串转大写。

场景1:传入的是字符串列表,批量转大写

不用纠结*args,直接接收列表参数,用列表推导式处理即可:

def convert_to_upper(strings):
    return [s.upper() for s in strings]

my_strings = ["apple", "banana", "cherry"]
print(convert_to_upper(my_strings))  # 输出 ['APPLE', 'BANANA', 'CHERRY']

场景2:接收不确定数量的单个字符串参数(用*args)

直接遍历*args这个元组,转大写后返回列表就行,任意数量的参数都能处理:

def convert_to_upper(*args):
    return [s.upper() for s in args]

print(convert_to_upper("hello", "world"))  # 输出 ['HELLO', 'WORLD']
print(convert_to_upper("a", "b", "c", "d"))  # 输出 ['A', 'B', 'C', 'D']

关于元组解包的问题

如果要把*args的元组内容作为参数传给其他函数,直接用*解包即可:

def print_strings(*args):
    print(*args)

print_strings("hello", "world")  # 直接输出 hello world

要是想把元组转为列表,直接用list(args)就能实现,比如my_list = list(args)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:25:24