在执行以下代码时,我得到2的结果。有人可以告诉我在python3x中获得2的原因吗?
data="Hands to clap and eyes to see"
data.count("and")
2
答案 0 :(得分:0)
从文档中:https://docs.python.org/3/library/stdtypes.html#str.count
str.count(sub [,start [,end]])
返回子字符串sub在[start,end]范围内不重叠出现的次数。
如您所见,字符串Hands to clap and eyes to see
有两个and
字符串,一个在Hands
中,一个在and
中,因此计数为2
要解决此问题,您可以将字符串拆分为列表,然后应用计数,该计数将仅匹配and
之类的完整单词,而不匹配hands
之类的部分单词
In [115]: data="Hands to clap and eyes to see"
#Split on whitespace to convert string to list of words
In [116]: li = data.split()
#Find the complete word and in the list
In [117]: li.count('and')
Out[117]: 1