关于以下代码,说法正确的是?( ) words = ["apple", "Cherry", "Banana"] sorted_words = sorted(words, key=lambda s: s.lower())
A:排序结果中 "Banana" 会排在 "apple" 前面,因为大写字母 ASCII 码小于小写字母。
B:key=lambda s: s.lower() 可以替换为 key=str.lower ,效果相同。
C:此排序会修改原始列表 words 中的元素顺序。
D:sorted 函数不能直接对字符串列表进行排序
正确答案:B
答案解析
sorted函数通过key参数指定排序依据,lambda s: s.lower()将每个字符串转为小写后参与比较,不改变原字符串大小写。str.lower是方法引用,可作为函数传入key,与lambda表达式功能一致。sorted返回新列表,原始列表顺序不变。字符串列表可直接参与排序,规则由key决定。ASCII码比较发生在字符层面,但此处比较基于转换后的小写形式。
试卷来源:202606 CCF-GESP编程能力等级认证Python四级真题