我是python的初学者,我正在尝试解决有关列表的一些问题。我遇到了一个问题,我无法解决它:
编写一个以单词作为参数的函数
countLetters(word)
并返回一个列表,计算每个字母的次数 出现。字母必须按字母顺序排序。例如:
>>> countLetters('google') [('e', 1), ('g', 2), ('l', 1), ('o', 2)]
我无法计算每个角色的出现次数。对于排序我正在使用sorted(list)
,我也使用dictionary(items functions)
这种格式的输出(列表元组)。但我无法将所有这些事情联系起来。
答案 0 :(得分:2)
使用套装!
m = "google"
u = set(m)
sorted([(l, m.count(l)) for l in u])
>>> [('e', 1), ('g', 2), ('l', 1), ('o', 2)]
答案 1 :(得分:1)
提示:请注意,您可以使用与python中的列表或其他可迭代对象相同的方式遍历字符串:
def countLetters(word):
for letter in word:
print letter
countLetters("ABC")
输出将是:
A
B
C
因此,不要打印,而是使用循环来查看您所拥有的字母(在letter
变量中)并以某种方式计算它。
答案 2 :(得分:1)
最后,成功了!!!
import collections
def countch(strng):
d=collections.defaultdict(int)
for letter in strng:
d[letter]+=1
print sorted(d.items())
这是我的解决方案。现在,我可以请求您解决此问题。我很乐意看到您的代码。