将 Python 子字符串与 char 值进行比较

Posted

技术标签:

【中文标题】将 Python 子字符串与 char 值进行比较【英文标题】:Compare a Python substring to a char value 【发布时间】:2021-11-20 03:21:43 【问题描述】:

我正在尝试遍历 Python 中的一个循环,并将字符串上的当前字符与常量字符进行比较。

for i in s:
        if(s[i]=='I')
            mySum++
            

这段代码在 if 语句中给我一个语法错误。

Java 中的相同代码看起来像这样

for(int i = 0; i<s.length();i++)

     if(s.charAt(i)=='I')
         
          mySum++
         

如何在 Python 中做到这一点?

【问题讨论】:

s.count('I') docs.python.org/3/library/stdtypes.html#str.count 【参考方案1】:

就像@U12-Forward 建议的那样,python 中没有++ 运算符。因此,您将使用 += 运算符。

不过,我更喜欢@Iain 的回答。

my_sum = s.count('I')

【讨论】:

【参考方案2】:

问题不在if(s[i]=='I'),问题在:mySum++

Python 不支持++ 运算符。 您可以通过以下方式进行:

mySum++ --> mySum +=1

## Or

mySum++ --> mySum = mySum + 1

【讨论】:

【参考方案3】:

在python中使用+= 1

for i in s:
    if i == 'I':
        mySum += 1

还要在if 之后添加一个冒号。

【讨论】:

这行得通吗?如果s 是一个字符串,那么i 将是字符串中的一个字母,它不能用于索引s。如果s 是一个列表,那么i 是列表中的一个元素,它又不能索引列表。 @ogdenkev 编辑了我的答案

以上是关于将 Python 子字符串与 char 值进行比较的主要内容,如果未能解决你的问题,请参考以下文章

将keypressed与char进行比较

算法练习:求字符串的最长重复子串(Java实现)

如何将char数组中的值与另一个char进行比较

将字符串与Hangman项目中的char进行比较时的编译错误

将字符串与字符序列进行比较

检查字符串中是不是存在所有 char 值