Python中求一个列表中的众数,并统计元素出现的次数存入字典,最后将字典的值降序排序
python中求一个列表中的众数,统计元素出现的次数并将其存入字典,最后将字典集合中的值降序排序
话不多说直接上代码
#输入一串数字将其强转为列表 list1=list(input("请输入一串数字:")) print(list1) dict1={} #循环统计数字出现的个数并将其添加到字典集合中 for i in list1: skey=dict1.get(i)#获取字典中的键的值 if skey==None:#判断键的值是否为空 dict1[i]=1 else: dict1[i]+=1 print(dict1) #获取字典中的键和值 sk=dict1.keys() sv=dict1.values() #循环判断列表中的众数 for i in sk: if dict1[i]==(max(sv)): print("列表中的众数为:%s"%i)
第一种方法
#将字典中的值转换为列表类型并进行排序反转 sl=list(sv) sl.sort() sl.reverse() dict2={} for i in sl: for j in sk: # 循环判断字典中的值是否与列表中的值相等若相等则值存入一个新的字典中 if dict1[j]==i: dict2[j] = i print(dict2)
第二种方法
dict3=sorted(dict1.items(), key=lambda x: x[1],reverse=True) print(dict(dict3))#将返回的列表强转为字典
第三种方法
sor=zip(sk,sv) dict4=sorted(sor, key=lambda x: x[1],reverse=True) print(dict(dict4))
第四种方法
import operator dict5=sorted(dict1.items(), key=operator.itemgetter(1),reverse=True) print(dict(dict5))
关于sorted()方法
sorted函数按value值对字典排序
要对字典的value排序则需要用到key参数,在这里主要提供一种使用lambda表达式的方法,如下:
这里的d.items()实际上是将d转换为可迭代对象,
迭代对象的元素为(‘lilee’,25)、(‘wangyan’,21)、(‘liqun’,32)、(‘lidaming’,19),items()方法将字典的元素转化为了元组,而这里key参数对应的lambda表达式的意思则是选取元组中的第二个元素作为比较参数 (如果写作key=lambda item:item[0]的话则是选取第一个元素作为比较对象,也就是key值作为比较对象。 lambda x:y中x表示输出参数,y表示lambda函数的返回值) ,所以采用这种方法可以对字典的value进行排序。
注意:排序后的返回值是一个list,而原字典中的键值对被转换为了list中的元组。
sorted(iterable[, cmp[, key[, reverse]]])
参数说明:
iterable – 可迭代对象。
cmp – 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
关于zip()方法
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
zip([iterable, …])
参数说明:
iterabl – 一个或多个迭代器;
- 排序一个列表序列,并统计每一个元素出现的次数
- python 统计列表(list)中元素出现的次数,并排序
- python字典分别按照key和value升序或者降序排列--以给定一个含有重复元素的数组list,按照其出现次数大小降序输出
- python 统计数组中元素出现次数并进行排序的实例
- python - 统计一个列表当中的每一个元素出现了多少次
- python返回一个列表中出现次数最多的元素
- python 统计列表中各元素出现的次数
- Python统计列表元素出现次数
- Python统计列表(List)中的重复项出现的次数并进行排序
- Python统计列表中元素出现的次数
- python统计数组元素出现次数以及排序
- python 统计数组中元素出现次数并进行排序
- python(dict字典相关知识以及小例子:生成一个列表,存放100个随机整数,找出出现次数最多的数字)
- python 统计一个列表当中的每一个元素出现了多少次的方法
- 统计一个数字在排序数组中出现的次数
- 找出一个列表中出现次数最多的元素
- 统计一个数字在排序数组中出现的次数。
- 对一个5位数的任意整数,求出其降序数。例如,整数是82319,则其降序数是98321。算法提示:将整数的各位数分解到一维整型数组a中,再将a数组中的元素按降序排序,最后输出a数组元素值。
- python 一个单列表和一个字典元素的列表合并
- python---实战4统计特定时间中特定信息次数(替换、次数、列表、排序、元组)待完善