【问题标题】:How to count the number of times a specific character appears in a list?如何计算特定字符出现在列表中的次数?
【发布时间】:2017-09-26 05:13:18
【问题描述】:

好的,这是一个列表:

sentList = ['I am a dog', 'I am a cat', 'I am a house full of cards']

我希望能够计算用户输入的字母出现在整个列表中的总次数。

userLetter = input('Enter a letter: ')

假设字母是'a'

我希望程序通过并计算“a”出现在列表中的次数。 在这种情况下,列表中“a”的总数应为 8。

我尝试通过 for 循环使用 count 函数,但我不断收到我不知道如何解释的数字,并且不知道如何格式化循环,或者我是否需要它。

我试过了,但它不起作用。

count = sentList.count(userLetter)

任何帮助将不胜感激,我找不到任何文档来计算列表中所有字母的出现次数。

【问题讨论】:

标签: python python-3.x count


【解决方案1】:

使用 sum() 内置函数将列表中每个字符串的计数相加:

total = sum(s.count(userLetter) for s in sentList)

【讨论】:

    【解决方案2】:

    将所有字符串合并为一个字符串,然后使用count函数。

    count = ''.join(sentList).count(userLetter)
    

    【讨论】:

      【解决方案3】:

      你尝试过这样的事情吗?

      userLetter = input('Enter a letter: ')
      sentList = ['I am a dog', 'I am a cat', 'I am a house full of cards']
      
      letterCount = 0
      for sentence in sentList:
          letterCount += sentence.count(userLetter)
      
      print("Letter appears {} times".format(letterCount))
      

      【讨论】:

      • 理解这一点的关键是“for sentence in sentList”为您提供了一个名为 sentence 的对象,您可以在 for 循环中使用它。该对象等于列表中每个元素的值,在本例中为字符串。我们可以执行 string.count(letter) 来获取该字母在该字符串中出现的次数。通过将该值添加到 letterCount,并为每个句子重复,我们得到了答案!
      • 很棒的解释!谢谢!
      【解决方案4】:

      你的方法是正确的。问题是你需要通过list

      word_count=0
      for l in sentList:
           word_count+= l.count(userLetter)
      

      【讨论】:

        【解决方案5】:

        word_list = [“土豚”、“狒狒”、“骆驼”] 随机导入 selected_word = random.choice(word_list) guess = input("猜一个字母:").lower()

        对于 selected_word 中的字母: 如果字母 == 猜测: 打印(“正确”) 别的: print("错误")

        【讨论】:

        【解决方案6】:

        检查输入的字母是否出现在随机选择的单词中的示例程序

        word_list = ["aardvark", "baboon", "camel"]
        
        import random
        
        chosen_word = random.choice(word_list)
        
        guess = input("Guess a letter: ").lower()
        
        for letter in chosen_word:
        
            if letter == guess:
        
                print("Right")
            else:
        
                print("Wrong")
        

        【讨论】:

        • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
        猜你喜欢
        • 1970-01-01
        • 2019-12-10
        • 1970-01-01
        • 2011-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多