簡體   English   中英

計算列表中的字符串出現

[英]Counting string occurrences in list

我正在嘗試解決由hackerrankteam托管的簡單python問題,但是我在使用Python中列表的count函數時遇到了困難。 我嘗試了多個測試用例,但我的count函數始終返回0。

  • 目標:計算連續平方等於天數的出現次數。

這是列表類型的問題嗎? 對我而言,是否有一種更簡單的方法來對一行中的值進行計數,而不必先檢查已對值對然后對總和進行計數?

import sys

def solve(size, squares, day, month):
    check = [sum(squares[nums:nums+month]) == day for nums in range(0,len(squares))]
    print (check)   #Test list output
    count = check.count('True')
    return count

#Test Cases 1
# size = 6
# squares = [1,1,1,1,1,1]
# day, month = (3,2)
#Output 0

#Test Cases 2
# size = 1
# squares = [4]
# day, month = (4,1)
#Output 1

#Test Cases 3
size = 5
squares = [1,2,1,3,2] 
day, month = [3,2]
#Output 2

#Custom User Input:
# size = int(input().strip())
# squares = list(map(int, input().strip().split(' ')))
# day, month = input().strip().split(' ')
# day, month = [int(day), int(month)]
result = solve(size, squares, day, month)
print(result)
check.count('True')

此代碼計算字符串 'True'的出現次數。

相反,它應該是:

check.count(True)

您也可以簡單地使用以下代碼:

sum(check)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM