lanyacp 发表于 2020-4-13 00:07:22

如何统计这个列表中每个数字出现的次数,并按照次数排序,谢谢

['5,10,8','8,7,6,10','9,8,5,2,10']如何统计这个列表中每个数字出现的次数,并按照次数排序,谢谢

BngThea 发表于 2020-4-13 08:27:58

先把每个字符串剥离一下,取出每个数字
然后用字典遍历所有数字,统计每个数字的个数
最后对字典根据值排序即可

lanyacp 发表于 2020-4-13 09:05:57

字符怎么剥离呢?新手,求指点下

cheese_hunter 发表于 2020-4-13 10:28:41

lanyacp 发表于 2020-4-13 09:05
字符怎么剥离呢?新手,求指点下

for i in range(len(a)):
       
        for each in a:
                if each == ',':
                        t = t
                else:
                        t.append(each)
别忘了之前设个t

lanyacp 发表于 2020-4-13 10:31:41

cheese_hunter 发表于 2020-4-13 10:28
别忘了之前设个t

好的,我试试,谢谢啊

lanyacp 发表于 2020-4-13 10:38:17

cheese_hunter 发表于 2020-4-13 10:28
别忘了之前设个t

打印出来里面的10被分成了1和0 两个元素

lanyacp 发表于 2020-4-13 10:40:38

lanyacp 发表于 2020-4-13 10:38
打印出来里面的10被分成了1和0 两个元素

而且是每遍历一个打印一遍{:5_90:}

永恒的蓝色梦想 发表于 2020-4-13 10:41:31

本帖最后由 永恒的蓝色梦想 于 2020-4-13 10:45 编辑

from collections import Counter

def func(list):
    res=[]
    for i in list:
      res.extend(int(i) for i in i.split(','))
    c=Counter(res)
    res.sort(key=c.__getitem__)
    return res

lanyacp 发表于 2020-4-13 10:43:20

lanyacp 发表于 2020-4-13 10:40
而且是每遍历一个打印一遍

我print位置修改了一下,只打印一遍了,不过10还是被分割,这个怎么解决

永恒的蓝色梦想 发表于 2020-4-13 10:47:21

lanyacp 发表于 2020-4-13 10:43
我print位置修改了一下,只打印一遍了,不过10还是被分割,这个怎么解决

试试我的

lanyacp 发表于 2020-4-13 10:49:32

永恒的蓝色梦想 发表于 2020-4-13 10:47
试试我的

好的,谢谢

lanyacp 发表于 2020-4-13 10:51:38

lanyacp 发表于 2020-4-13 10:49
好的,谢谢

可以了,谢谢{:5_98:}

a = ['5,10,8','8,7,6,10','9,8,5,2,10']
from collections import Counter
def func(list):
    res=[]
    for i in list:
      res.extend(int(i) for i in i.split(','))
    c=Counter(res)
    res.sort(key=c.__getitem__)
    return res
res = func(a)
print(res)



页: [1]
查看完整版本: 如何统计这个列表中每个数字出现的次数,并按照次数排序,谢谢