我想按名稱中的字母對列表中的值進行排序:例如,我希望[「8a」,「8c」,「8b」,「8d」]變成[「8a」,「8b」 「,」8c「,」8d「]。這與鑰匙有關嗎?如何按照各自名稱中的字母按字母順序對列表中的項目進行排序。
回答
您可以通過列表排序來完成此操作。
list = ["8a", "8c", "8b", "8d"]
list.sort()
print(list)
這將解決解決您的問題:
_list = ["8a", "8c", "8b", "8d"]
_list.sort()
print _list
輸出:
['8a', '8b', '8c', '8d']
答案很簡單,如果數據看起來像你的問題。如果數據比較複雜,則必須給方法sort
一個只包含字母表中字符的鍵。
data = ["34b", "2a5t", "2a5s", "abcd"]
data.sort(key=lambda x: ''.join(c for c in x if c.isalpha()))
print(data)
這會給你['abcd', '2a5s', '2a5t', '34b']
。
如果你想看到的構建關鍵的樣子,你可以這樣檢查:
for value in data:
print(value, ''.join(c for c in value if c.isalpha()))
34b b
2a5t at
2a5s as
abcd abcd
對列表的的.sort()方法被提及;有一個排序函數,它的列表作爲參數,並返回一個排序列表不到位修改列表:
>>> mylist = ["8a", "8c", "8b", "8d"]
>>> sorted(list)
['8a', '8b', '8c', '8d']
>>> mylist
['8a', '8c', '8b', '8d']
中的任何'字母順序都已更正,謝謝。保留變量名稱「list」只是因爲這就是OP所稱的。 –
顯然我想象的東西... –
假設您的格式總是跟着用字母和數字,你需要給的排序方法的具體按鍵排序:在這種情況下,您想按最後一個字符排序。許多其他答案只是按字母順序排列你的列表,使用數字後跟字母,而我感覺你只想按字母排序。這是一種可能的方式:
s = ['9d', '12a', '1e']
sorted_s = sorted(s, key=lambda x:x[-1]) # sorts by the last character of every entry
這將返回:
['12a', '9d', '1e']
@ PM2Ring啊哎呀錯了。感謝您指出(y) – gowrath
試圖在他們的名字以字母列表中的值進行排序
你提到的例子是很簡單。根據您的需要,下面是一個使用re.findall()
和sorted()
基於字符串中以任何順序字母排序的代碼:
>>> import re
>>> s = ['a9d', '1a2ba', '1e2s', '1b3tr']
>>> sorted(s, key=lambda x: re.findall("[a-zA-Z]+", x))
['1a2ba', 'a9d', '1b3tr', '1e2s'] # Sorted based on: aba, ad, btr, es
- 1. [Python]按字母順序排列名稱
- 2. 按字母順序排序,然後按字母順序排列
- 3. 按字母順序排列列表項
- 4. 按照字母順序對NSString的NSMutableArray進行排序
- 5. 按字母順序排列列表中的名稱?
- 6. 排序列表中的項目按字母順序排列,而不稱呼
- 7. 從plist按字母順序對項目進行排序
- 8. Python:按照字母順序排列的單詞排序列表
- 9. 按字母順序對NSString中的字符進行排序
- 10. 按字母順序排列列表框中的組項目
- 11. 字符串按字母順序排列的對象(名稱)
- 12. 按字母順序排列的鏈表不按順序排列
- 13. 按字母順序排列
- 14. 按字母順序排列
- 15. 按字母順序排列
- 16. 如何按照字母順序對groovy中的json數據進行排序?
- 17. 在QStandardItemModel中按字母順序對列進行排序:QSortFilterProxyModel
- 18. 如何進行比較按字母順序排序列表?
- 19. 按字母順序排列數組,並按首字母進行排序
- 20. 使用模數按字母順序對列表進行排序
- 21. Python:按字母順序對列表進行排序/分組
- 22. 按名稱排序(字母)
- 23. 按字母數字順序對MySQL列進行排序
- 24. 根據字段按字母順序對散列進行排序
- 25. 按字母順序在varchar2中對字符進行排序
- 26. 按字母順序排序列表
- 27. 按字母順序排序列表
- 28. 將列表按字母順序排序
- 29. 按字母順序排序列表
- 30. SQL按字母順序排序按名稱排序
這是非常廣泛的,而且它很可能這是不是你的真實情況,否則'排序( lst)'會做到這一點。 – Psidom
這封信會永遠是第二個字嗎? – David
1)結果如下:['9a','6b','3d']? 2)列表中條目的格式是否始終是一個數字後跟一個字符? – gowrath