题目是:现有数列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)