python单词统计(字典)

题目如下

img


不知道怎么才能按照value值降序,lambda函数用了会让key value互换位置而且还有个括号引号删不掉,所以没用,代码如下


lst=[]
while True:
    s=input()
    if s=="0":
        break
    else:
        lst.append(s)
dic={}
for i in lst:
    if i not in dic:
        dic[i]=1
    else:
        dic[i]=dic[i]+1
lst2=dic.keys()
sorted(lst2,reverse=True)
for i in lst2:
    print(dic[i],i)

其实有最简单的方法,但是可能不一定符合题目要求:

from typing import Counter
counter = Counter(text.split('\n')) // test为给出的文本

for key, value in counter.items():
   print(value, key)

主要就是可以使用Counter计数,当然中途可能还漏了你说的排序,其实无妨,括号是可以删掉的


_s = sorted(...)//排序后的
for (v, k) in _s:
  print(v, k)

根据实际情况调整即可