首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学校-清单(主题6-22)

学校-清单(主题6-22)
EN

Stack Overflow用户
提问于 2011-10-06 18:32:05
回答 3查看 1.3K关注 0票数 2

我是python的初学者,我正在尝试解决一些关于列表的问题。我被困在一个问题上,我无法解决它:

编写一个函数countLetters(word),该函数接受一个单词作为参数,并返回一个列表,该列表计算每个字母出现的次数。这些字母必须按字母顺序排序。

Ex:

countLetters('google') ('e',1),('g',2),('l',1),('o',2)

我不能统计每一个角色的出现情况。对于排序,我使用的是sorted(list),对于这种输出格式(列表的元组),我也使用dictionary(items functions)。但我无法将所有这些事情联系起来。

EN

回答 3

Stack Overflow用户

发布于 2011-10-06 18:54:05

使用集合!

代码语言:javascript
复制
 m = "google"
 u = set(m)
 sorted([(l, m.count(l)) for l in u]) 


 >>> [('e', 1), ('g', 2), ('l', 1), ('o', 2)]
票数 2
EN

Stack Overflow用户

发布于 2011-10-06 18:38:56

提示:请注意,您可以以与python中的列表或其他可迭代对象相同的方式遍历字符串:

代码语言:javascript
复制
def countLetters(word):

  for letter in word:
    print letter

countLetters("ABC")

产出如下:

代码语言:javascript
复制
A
B
C

因此,不需要打印,而是使用循环查看(在letter变量中)您得到了哪个字母,并以某种方式对其进行计数。

票数 1
EN

Stack Overflow用户

发布于 2011-10-07 15:29:43

终于成功了!

代码语言:javascript
复制
import collections
def countch(strng):
    d=collections.defaultdict(int)
    for letter in strng:
        d[letter]+=1
    print sorted(d.items())

这是我的solution.Now,我可以问你这个问题的解决方案,我很想看看你的代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7678825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档