就像標題說的,我需要編寫一個按字母頻率對列表進行排序的函數。通常我會提供自己的代碼,但我不知道從哪裏開始。我確定它很簡單,但我不知道該怎麼做。我需要他們降序排序,任何幫助表示讚賞,謝謝。按蟒蛇的字母頻率排序(降序)
5
A
回答
9
在Python 2.7
或更高版本,你可以使用一個計數器:
>>> mywords = ['red', 'blue', 'red', 'green', 'blue', 'blue']
>>> cnt = Counter(mywords)
>>> cnt
Counter({'blue': 3, 'red': 2, 'green': 1})
按Sorted Word frequency count using python
,如果你需要的字母來代替的話,你可以去這樣 http://docs.python.org/dev/library/collections.html#collections.Counter
:>>> mywords = ['red', 'blue', 'red', 'green', 'blue', 'blue']
>>> myletters=list("".join(mywords))
>>> myletters
['r', 'e', 'd', 'b', 'l', 'u', 'e', 'r', 'e', 'd', 'g', 'r', 'e', 'e', 'n', 'b', 'l', 'u', 'e', 'b', 'l', 'u', 'e']
>>> Counter(myletters)
4
對於Python2.7 +,使用collections.Counter及其most_common方法:
import collections
text='abccccabcbb'
count=collections.Counter(text)
print(count.most_common())
# [('c', 5), ('b', 4), ('a', 2)]
print(''.join(letter*freq for letter,freq in count.most_common()))
# cccccbbbbaa
對於python2.6的或更低,則可以使用等效Counter recipe。
相關問題
- 1. 按字母順序排列的頻率
- 2. 按字母順序排序字典,並按頻率打印
- 3. 按頻率排序計數器,然後在Python中按字母順序排序
- 4. 按頻率排序
- 5. 蟒蛇按鍵排序字典和按另一個鍵排序
- 6. 蟒蛇:排序
- 7. perl - 按數字順序降序排列,然後按字母順序排列
- 8. 排序爲蟒蛇
- 9. 我應該如何按頻率順序排列字母?
- 10. 按字母順序排序,然後按字母順序排列
- 11. 如何按頻率排序字符串,然後按照java中的字母順序排序?
- 12. 按字段內出現頻率排序
- 13. 字符的排序頻率
- 14. 按字母排序
- 15. 按字母順序排序
- 16. 按字母順序排序
- 17. 按字母順序排序
- 18. 按字母順序排序
- 19. 排序按字母順序
- 20. 按字母順序排序
- 21. 按字母順序排序
- 22. 如何雙向排序python列表,按降序排列數字,按升序排列字母排序?
- 23. 排序一個清單:數字升序排列,字母降序
- 24. 排序串入的蟒蛇
- 25. 蟒蛇:排序嵌套的字典
- 26. 排序字典值 - 降我有字母
- 27. 排序按值蟒蛇在給定的字典值字典
- 28. 打印出給定的字母字母序列 - 蟒蛇
- 29. Linq:按ID排序,然後按字母順序按字母排序
- 30. 按字母順序排序iPhone TableView從RSS按字母順序排序
什麼?話? –