统计出字符串中字母出现的个数,输出哪个是最多的字母,如果有重复的就输出按照字母表前面的那个数字。我写的程序只能找到最多的字母,但是如果重复怎么改成输出字母表中靠前的字母?
def checkio(sequence):
sequence = sequence.lower()
freq = {}
for x in sequence:
if x.isalpha():
freq[x] = freq.get(x,0) + 1
sorted_x = sorted(freq.iteritems(), key=operator.itemgetter(1), reverse=True)
return sorted_x[0][0]
谢谢!
比如“Helloworld!”中最多的字母是l,如果是“fsdb”,每个字母一样出现个数,就输出字母表上最靠前的b。
代码如下:
dic=dict()
d={}
s=set()
s='helloworld'
(1)d=dict()
for x in s:
if x not in d.keys():
d[x]=1
else:
d[x]=d[x]+1
print(d)
(2)d2=dict()
for x in s:
d2[x]=d2.get(x,0)+1
print(d2)
(3)d3=dict()
for x in s:
d3[x]=s.count(x)
print(d3)
扩展资料
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:
var1 = 'Hello World!'
var2 = "Python Runoob"
Python 访问字符串中的值
Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。Python 访问子字符串,可以使用方括号来截取字符串,如下实例:
实例(Python 2.0+)
#!/usr/bin/python
var1 = 'Hello World!'
var2 = "Python Runoob"
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]
以上实例执行结果:
var1[0]: H
var2[1:5]: ytho