使用更多a搜索列表中的单词

时间:2012-10-10 13:59:25

标签: python

我在老师的任务上遇到了麻烦。我是一个蟒蛇新手,所以我真的不懂语言。

我需要创建一个给出一串单词的函数,并在其上查找带有更多“a”的单词,如果有两个单词具有相同数量的“a”则打印第一个单词。

编辑1: 是的,我的想法是查看每个单词并使用类似str.count("a")的内容,然后打印具有最高值的单词

2 个答案:

答案 0 :(得分:3)

>>> words = "foo bar baz banana"
>>> max(words.split(), key=lambda x:x.count("a"))
'banana'

答案 1 :(得分:0)

这个答案应该非常简单,即使对于初学者来说也是如此,因为它只使用非常基本的命令:

s = 'caaat caat cat kittycaat, rack, smaaack'
x = 0
for i in s.split():
    if i.count('a') > x:
        x = i.count('a')
        word = i
print word

基本上,它使用字符串的.split()函数将字符串拆分为单独的单词。然后for循环遍历每个单词,注意每个单词中有多少'a',如果有多个x单词,它会用数字更新x并将单词放在'word'变量中。

当循环得到另一个带有更多'a'的单词时,它会再次更新x并再次单词,但是如果它得到的单词少了'a',那么它将什么都不做。