輸入: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
提交
取消