本文介绍了在input_string中标识唯一字母和相应的计数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

input_string=mississippi

output_dict={letters=[i,s,p,m],count=[4,4,2,1]}

input_string中删除重复的条目,并对这些重复的值进行计数并以降序显示.实际的以下代码删除重复的条目,但如何计算重复的值

Remove duplicate entries from input_string and count those duplicate values and display in descending order.actual following code remove duplicate entry but how to count the duplicate values

def mock(input_string):
    a=list(input_string)
    list1=[]
    for i in a:
        if i not in list1:
            list1.append(i)


    print(list1)           


mock("radffffghhh")  

推荐答案

d={}
for i in input_string:
    d[i]=d.get(i,0)+1

按相反的值对字典进行排序

sort dict by values in reverse

sorted(d.items(), key=lambda kv: kv[1],reverse=True)#[('i', 4), ('s', 4), ('p', 2), ('m', 1)]

使用groupby

from itertools import groupby
{k:len(list(v)) for k,v in groupby(sorted(input_string))}

使用柜台

from collections import Counter
Counter(input_string)

这篇关于在input_string中标识唯一字母和相应的计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 18:00