[('昆明', '厦门'), ('厦门', '南宁'), ('南宁', '昆明'), ('昆明', '深圳'), ('深圳', '昆明'), ('昆明', '重庆'), ('重庆', '金华'), ('金华', '昆明'), ('昆明', '深圳'), ('深圳', '昆明'), ('昆明', '重庆'), ('重庆', '昆明'), ('昆明', '咸阳'), ('咸阳', '昆明'), ('昆明', '深圳'), ('深圳', '昆明'), ('昆明', '厦门')]
比如输出结果为这个,怎么统计每个出现的次数并按从大到小排列啊
怎么输出元祖出现的次数并从大到小排序?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- ash062 2022-04-07 21:17关注
可以借助collections模块的Counter
from collections import Counter c = Counter([('昆明', '厦门'), ('厦门', '南宁'), ('南宁', '昆明'), ('昆明', '深圳'), ('深圳', '昆明'), ('昆明', '重庆'), ('重庆', '金华'), ('金华', '昆明'), ('昆明', '深圳'), ('深圳', '昆明'), ('昆明', '重庆'), ('重庆', '昆明'), ('昆明', '咸阳'), ('咸阳', '昆明'), ('昆明', '深圳'), ('深圳', '昆明'), ('昆明', '厦门')]) print(c) # Counter({('昆明', '深圳'): 3, ('深圳', '昆明'): 3, ('昆明', ' 厦门'): 2, ('昆明', '重庆'): 2, ('厦门', '南宁'): 1, ('南宁', '昆明'): 1, ('重庆', '金华'): 1, ('金华', '昆明'): 1, ('重庆', '昆明'): 1, ('昆明', '咸阳'): 1, ('咸阳', '昆明'): 1}) for k, v in c.most_common(len(c)): print(k, v) ''' ('昆明', '深圳') 3 ('深圳', '昆明') 3 ('昆明', '厦门') 2 ('昆明', '重庆') 2 ('厦门', '南宁') 1 ('南宁', '昆明') 1 ('重庆', '金华') 1 ('金华', '昆明') 1 ('重庆', '昆明') 1 ('昆明', '咸阳') 1 ('咸阳', '昆明') 1 '''
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用