输入:sort_words ['零','yeLLow','狗','汉堡','x']# 输出:['Burger', 'Dog', 'yeLLow', 'zero', 'x']输入:sort_words ['鱼','水','海绵宝宝','球']# 输出:['海绵宝宝', '水', '鱼', '球']输入:sort_words ['猪','青蛙','猫']# 输出:['猪', '猫', '青蛙']
2 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
您可以使用内置sorted函数,但您需要提供一个函数来key应用您想要的排序逻辑。如果第一个字母大小写相同且字符串长度相同,则字符串列表中的项目相等。大写字母少于小写字母,长单词少于短单词。
def sort_key(string):
return (string[0].islower(), -len(string))
sorted(['Pig', 'frog', 'Cat'], key=sort_key)
# output: ['Pig', 'Cat', 'frog']
九州编程
TA贡献1785条经验 获得超4个赞
干得好:
inputs=['zero', 'yeLLow', 'Dog', 'Burger', 'x']
required_list=[(1 if i[0].isupper() else 0,len(i),i) for i in inputs]
required_list.sort(reverse=True)
print([k for i,j,k in required_list])
添加回答
举报
0/150
提交
取消
