亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python:如何根據大寫字母對列表進行排序,當第一個字母、大小寫和長度時,它們的順序應該保持不變

python:如何根據大寫字母對列表進行排序,當第一個字母、大小寫和長度時,它們的順序應該保持不變

心有法竹 2023-01-04 16:16:54
輸入: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']


查看完整回答
反對 回復 2023-01-04
?
九州編程

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


查看完整回答
反對 回復 2023-01-04
  • 2 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號