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

Python自定义函数中如何对sorted结果调用upper()转全大写

代码问题点

  • 你写的for x in args循环没有实际作用,进入循环第一次迭代就会执行return sorted(args)直接退出函数,根本没对单个传入的参数做处理。
  • 直接返回sorted(args)只会对原始字符串做排序,没有调用.upper()方法处理每个姓名的大小写。

修正方案

你只需要先遍历所有传入参数,把每个姓名字符串转为大写后,再做排序返回即可,两种写法都可以:

写法1:保留for循环逻辑(匹配你原本的代码思路)

def names(*args):
    upper_names = []
    for x in args:
        upper_names.append(x.upper())
    return sorted(upper_names)

print(names("john", "allison", "tony", "melissa"))

写法2:简洁生成器写法

def names(*args):
    return sorted(name.upper() for name in args)

print(names("john", "allison", "tony", "melissa"))

运行后输出结果为:

['ALLISON', 'JOHN', 'MELISSA', 'TONY']

同时实现姓名排序、全大写转换的需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 18:18:51