Python找出一串字符中出现最多的字符

  问题:

  给定一个字符串,找出里面出现次数最多的字符。

  python实现1,利用字典:

  

 1 def find_most_char(s):
 2     ls=list(s)
 3     ls.sort()
 4     ls="".join(ls)
 5     ls=list(ls)
 6     counts={}
 7     for c in ls:
 8         if c in counts:
 9             counts[c]+=1
10         else:
11             counts[c]=1
12 
13     items=counts.items()
14     backitems=[[v[1],v[0]] for v in items]
15     backitems.sort()
16 
17     print backitems[-1][0],backitems[-1][1]
18 if __name__=="__main__":
19     s='JFLSDJFOIWEfdjsklfewosd2378907345asss'
20     find_most_char(s)
21     

  python的实现2,设置标志位:

 1 def find_most_char(s):
 2     ls=list(s)
 3     ls.sort()
 4     ls="".join(ls)
 5     ls=list(ls)
 6     flag=0
 7     for c in ls:
 8         if ls.count(c)>flag:
 9             flag=ls.count(c)
10             most_c=c
11             
12     print flag
13     print most_c
14      
15            
16 if __name__=="__main__":
17     s='JFLSDJFOIWEfdjsklfewosd2378907345asss'
18     find_most_char(s)
19     

 

 

posted @ 2013-06-28 17:53  lkprof  阅读(1604)  评论(0编辑  收藏  举报