sorted函数和lower函数相关

lower函数 不是把大写字母变成小写字母吗?
那为什么输出还有大写字母呢?

img

sorted函数第2个参数key表示排序的规则,意思就是排序的时候统一转换为小写排序,但是不会改变原来的数据

有帮助的话,请点采纳~

该回答引用GPTᴼᴾᴱᴺᴬᴵ
lower() 函数可以将字符串中的大写字母转换成小写字母,但它不会修改原始字符串,而是返回一个新的字符串。所以如果你使用 lower() 函数将大写字母转换成小写字母,但输出中仍然包含大写字母,可能是因为你没有将新的字符串存储到一个变量中,而是直接输出了原始字符串。你可以尝试将新字符串存储到一个变量中,然后输出这个变量,就应该只包含小写字母了。

该回答内容部分引用GPT,GPT_Pro更好的解决问题
lower函数可以用来将字符串中的所有大写字母转换成小写字母,但是它并不能完全把字符串中的大写字母全部转换成小写字母。

这是因为,在使用lower函数之前,我们必须先将字符串转换为Unicode编码格式,然后才能够正常使用lower函数。而Unicode编码格式有一些特殊的字符,它们的大小写表示是一样的,例如泰文、希伯来文、俄文和日文。这些字符在Unicode编码格式中的大小写表示和ASCII编码格式的大小写表示不一样,所以当我们使用Unicode编码格式时,使用lower函数只能将部分字符转换成小写字母。

而sorted函数可以用来对序列进行排序,它可以对列表、元组、字典和集合进行排序。sorted函数和lower函数之间并没有直接的联系,只是当我们想要对Unicode编码格式的字符进行排序时,可能会先使用lower函数将字符转化为小写字母,然后再使用sorted函数对字符进行排序。

# 例子
list_a = ['A', 'B', 'c', 'D']
list_b = [x.lower() for x in list_a]
list_c = sorted(list_b)
print(list_c) # ['a', 'b', 'c', 'd']

如果回答有帮助,望采纳。

这里只是用作排序的一个依据,表示按字母表顺序对列表字串进行排序,对大小写不敏感。不会真的改变字母的大小。你说的变成小写字母不是这样用,而是 :
str = 'ABC'
str = str.lower()
采纳哦

lower,upper,replace,切片这些操作,都是返回一个新的字符串,而并不改变原始数据