我是python的初学者,我正在尝试解决一些关于列表的问题。我被困在一个问题上,我无法解决它:
编写一个函数
countLetters(word),该函数接受一个单词作为参数,并返回一个列表,该列表计算每个字母出现的次数。这些字母必须按字母顺序排序。
Ex:
countLetters('google') ('e',1),('g',2),('l',1),('o',2)
我不能统计每一个角色的出现情况。对于排序,我使用的是sorted(list),对于这种输出格式(列表的元组),我也使用dictionary(items functions)。但我无法将所有这些事情联系起来。
发布于 2011-10-06 18:54:05
使用集合!
m = "google"
u = set(m)
sorted([(l, m.count(l)) for l in u])
>>> [('e', 1), ('g', 2), ('l', 1), ('o', 2)]发布于 2011-10-06 18:38:56
提示:请注意,您可以以与python中的列表或其他可迭代对象相同的方式遍历字符串:
def countLetters(word):
for letter in word:
print letter
countLetters("ABC")产出如下:
A
B
C因此,不需要打印,而是使用循环查看(在letter变量中)您得到了哪个字母,并以某种方式对其进行计数。
发布于 2011-10-07 15:29:43
终于成功了!
import collections
def countch(strng):
d=collections.defaultdict(int)
for letter in strng:
d[letter]+=1
print sorted(d.items())这是我的solution.Now,我可以问你这个问题的解决方案,我很想看看你的代码。
https://stackoverflow.com/questions/7678825
复制相似问题