鱼C论坛

 找回密码
 立即注册
查看: 1814|回复: 3

[已解决]统计字符串中字符个数的问题

[复制链接]
发表于 2017-12-23 11:51:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我使用已学知识实现了字符的个数的统计,但是我想给这个统计进行一个排序:就是出现最多的一个在第一个行然后以此类推,我的思路是通过sorted(countdict.values(),reverse=True),这个把统计个数进行排序,但是不知道如何通过字典值来读取对应的键,有没有通过字典值读取键的方法?
以下是我的代码:
countdict={}
str1='''%%$@_$^__#)^)&!_+]!*@&^}@[@%]()%+amp;[(_@%+%$*^@$^!+]!&_#)_*}{}}!}_]$[%}@[{_@#_^{*
@##&{#&{&)*%(]{{([*}@[@&]+!!*{)!}{%+{))])[!^})+)$]#{*+^((@^@}$[**amp;^{$!@#$%)!@(&
+^!{%_amp;@^!}$_${)$_#)!({@!)(^}!*^&!$%_&&}&_#&@{)]{+)%*{&*%*&@%$+]!*__(#!*){%&@++
!_)^amp;&%#+)}!@!)&^}**#!_$([$!$}#*^}$+&#[{*{}{((#$]{[$[$()_#}!@}^@_&%^*!){*^^_$^
]@}#%[%!^[^_})+@&}{@*!(@$%$^)}[_!}(*}#}#___}!](@_{{(*#%!%%+*)^+#%}$+_]#}%!**#!^_
)@)$%%^{_%!@(&{!}$_$[)*!^&{}*#{!)@})!*{^&[&$#@)*@#@_@^_#*!@_#})+[^&!@*}^){%%{&#@
@{%(&{+(#^{@{)%_$[+}]$]^{^#(*}%)@$@}(#{_&]#%#]{_*({(])$%[!}#@@&_)(
  • }$}&${^}@(% (%[@%!}%*$}(*@)}){+@(%@*amp;]*^*}*]&$[}*]%]+*}^!}*$^^_()#$^]++@__){&&+((#%+(&+){)$ %&&#($[[+##*%${)_!+{_[})%++)$#))]]]$]@]@($+{&%&%+!!!@]_]+])^*@$(@#${}}#}{%}#+{(@ #__+{{]${]!{(%${%%^)(_*_@+)$]$#_@$)]](}{}$(}*%+!}#+)$%$}+#@*&^{##}+@(%[*@_}{(^]^ +_*{@+[$!!@%$+{_&(#^(([&[][[&@#+}_]&&]}^*&)#_^$@$((%)}+{}$#+{+^}&[#[#_+${#[#]{ (@@[%}[}$%+*#$+[%(**!$+@$@&+$_$#!_&&&&{***+)}][}#^!%#&$*)$!%}*&#}}##(^_%^]{+]&&] }^]#^(}@]&$]*_][])$]{_+})^_}]))()^&)(!*![!&}{][(]})[(*^}amp;$_@^$)#${%[$_]!^]}}}*+ *^_(+}^)(%(}{&)[}!&+}&[{%}^+#$]@)^&*%{@}]&!%*%$*&][}&{amp;*@{@#]$*_[]%%[#]#*%)@ $_^#%$!{#]^$}%^@^+{($!^($%)]+&}+$@[$*)*&)*%!_!!+@&^*{}%#&{}$!(*^*@]@@})[($!)]]}) })(&+##]##%&##$}@{#_])*%(*(@$)}[+(+_)!{{#^{_@)!&)$}@^^^[$#__+$^!*#%%]_!#$]amp;+^}% @])])%}]#$((^+{{@++^])$^*#[$}*]}}{)@+)[_}*@^%#]]#+()+)(]_[!!!)+)$+&@@])!}+*%]$[] &&[@+$_&#[$!${}{%[]#+@)*!#)*!{$#*$%}[(&@amp;_@($]]]_[+(#@}&_}+]@$#_+](}^})!@@}@) }^]^]*}]+&(@@!!](*@#(++*)]!(^$})&_^@+]{#_@*%^[$[%&_%@%_![&&]&_@*#_}[{{])^$[_$_&_ @%%[@#[@_[&+]}[+)!_#_+++%)[@%$(&$[{#@(}$*![#^#{}_)[$^_${_@&}*![#*#_+%[@{*^$){)# #%}]{+((*^]+{})&#$!#(*%({_!^*[{%@_&#){![&]@$#[#(!{*#^*%)]!%(#]%${*_^{+}(@}{_^(]( _+!_)^&}!#([(+&[@])[_(]@]@&@{#@(%[@+[^@%@+]*_[{]$[_(_@[!]]^%+@#(@$}]@(^**+]%^)^( @}^[]@@[@[@}^(^!]%*_]&$!!^^#*[#*[*_}+[$#(_#%@](+[^+}%{_*#]+*(]}!$(%@%#^)}]_&]{${ }$[*{+&+&}[#_#}_(}){^#{[_%*!$+[#)%]@&&_{)#[+*&+#!&)%)%++$_}){%%*@!*&%__(_!]#$*(_ $^!@@}_())%(&$%]]{{{@+!&%@(^!+*{%[*[!]){(#$@)(^{]%[&*(&!{&}!%*$)*]]$%(__[}_+&)!( ^_&*]*+#@{@[_({$*&}][(*!+$+#%&![%^)^#(#}+*+(@)&&!({^^_*($^+)&{)%$@%)&!&^+#[)$ +!$^]*!%^_$}$+!!&%_&){$%{((&^{{(&_&_]{^}@[$^+]}]^{@!^@_%_{^@*)+^*#$#!+*}#)}@(}!] _*)}$**@}[^_&*^)*+#()]&{{]*+#${@&}#)$[]_+(^_@^][]_)*^*+_!{&$##]((](}}{[!$#_{&{){ *_{^}$#!+]{[^&++*#!]*)]%$!{#^&%(%^*}@^+__])_$@_^#[{{})}$*]#%]{}{][@^!@)_[}{())%) ^###%!{(@+]$%*^}(![$@*]_{#*!$*@%*(^+#!)amp;]*%amp;*@$[)_$!&+_[$)%_*((%+##*]@+#*[$)^ (}&($(^*{^$])*}$(#}%}#)_@^*}#!)$)&$*__+!!+[&}])*_{+$}!@)*^{{({@}{@}+@#${$^*@^^}( [)!^){!+@%(^_)[]@(]+&^_@[*(_@^*##*&*$!{^{!&#@(%&(@!]^[]({!+(]+^}&&${{]^!+#^*#&%{ @{)%_]#*{%^&@%$[@((*)_%!#+*^]]!}$]+}^]&$#[}{$*#^$_{{}}@[@+@+&}}^^@[[@@})()(@&)[ #)+[])%]$+^^(}^!([&{)!#}#}}#!}[]]{[++&!)]#]]%^%_&_}!&&$@#&!#}&+]$)^_^*$]!$)}&{#)''' str2=str1.replace('\n','\\n')       #这里我使用了字符串的替换操作 for key in str2:     if key not in countdict.keys():         countdict[key]=1     else:         countdict[key]+=1 for keys in countdict.keys():     print('%s的个数为:%d个'%(keys,countdict[keys]))

  • 最佳答案
    2017-12-24 07:16:37
    countdict_sort = sorted(countdict.items(),key=lambda x: x[1], reverse=True)
    
    for k, v in countdict_sort:
        print('"%s"的个数为:%d个'%(k, v))

    string1.txt

    97.64 KB, 下载次数: 3

    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2017-12-23 11:57:11 | 显示全部楼层
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    发表于 2017-12-23 13:06:11 | 显示全部楼层
    字典的相关方法有三个:
    1、dict.keys()     返回字典dict的所有键
    2、dict.values()   返回字典dict的所有值
    3、dict.items()     返回字典dict的键值对
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    发表于 2017-12-24 07:16:37 | 显示全部楼层    本楼为最佳答案   
    countdict_sort = sorted(countdict.items(),key=lambda x: x[1], reverse=True)
    
    for k, v in countdict_sort:
        print('"%s"的个数为:%d个'%(k, v))
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

    GMT+8, 2024-9-26 12:58

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表