python:如何根据大写字母对列表进行排序,当第一个字母、大小写和长度时,它们的顺序应该保持不变



input:sort_words ['zero', 'yeLLow

', 'Dog', 'Burger', 'x'] # 输出: ['汉堡', '狗', '耶洛', '零', 'x']

输入:sort_words ["鱼"、"水"、"海绵宝宝"、"球"]

# 输出: ["海绵宝宝"、"水"、"鱼"、"球"]

输入:sort_words ["猪"、"青蛙"、"猫"]

# 输出: ["猪"、"猫"、"青蛙"]

>您可以使用内置的sorted函数,但您需要向key提供一个应用所需排序逻辑的函数。如果第一个字母的大小写相同,并且字符串的长度相同,则字符串列表中的项相等。大写字母小于小写字母,较长的单词小于较短的单词。

def sort_key(string):
return (string[0].islower(), -len(string))
sorted(['Pig', 'frog', 'Cat'], key=sort_key)
# output: ['Pig', 'Cat', 'frog']

你来了:

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])

相关内容

  • 没有找到相关文章

最新更新