如何在使用列表理解的条件下增加分数

问题描述 投票:0回答:1

“”“编写程序以计算mystring中子字符串的出现次数”“”

mystring = "abcdcdcdc"
substring = "cdc"
score = 0
ss_len = len(substring)
for i in range(len(mystring)):
    if mystring[i : i + ss_len] == substring:
        score += 1
print(score)

你好,

我如何使用列表理解来编写以上工作代码?结果返回3

下面是我所拥有的,并且无法按预期工作。

s = [score = score +1 if mystring[i : i + ss_len] == substring for i in range(len(substring))]
print(s)

谢谢

python python-3.x list list-comprehension
1个回答
0
投票

您可以使用sum()获取要添加到score的金额

score += sum([1 if mystring[i:i+ss_len] == substring for i in range(len(mystring))])
© www.soinside.com 2019 - 2024. All rights reserved.