題目是:現有數列l1 = ['d', 'f', 'g', 'f', 'e', 'z', 'f', 'a', 'a'] 。請把數列中的元素按照進行排序,並輸出次數,重復最多的元素排在前面,程序越簡單越好
方法1:
1 from collections import Counter 2 # 根據數列中字母出現的次數和ASCII的大小,進行排序。 3 l1 = ['d', 'f', 'g', 'f', 'e', 'z', 'f', 'a', 'a'] 4 d2 = Counter(l1) 5 sorted_x = sorted(d2.items(), key=lambda x: x[1], reverse=True)
方法2:
l1 = ['d', 'f', 'g', 'f', 'e', 'z', 'f', 'a', 'a'] set01 = set(l1) dict01 = {item: l1.count(item) for item in set01} sorted_x = sorted(dict01.items(), key=lambda x: x[1], reverse=True) print(sorted_x)