gpt4 book ai didi

python - 在 Python 中计算另一个字符串中的字符串的更好方法

转载 作者:行者123 更新时间:2023-11-28 19:42:49 25 4
gpt4 key购买 nike

此代码有效,但阅读此处的帖子我觉得它可能不是一个非常“Pythonic”的解决方案。有没有更好更有效的方法来解决这个具体问题:

此代码的作用:计算在另一个字符串中找到的一个字符串的实例并返回计数。如果用户尝试传入空字符串,则会引发错误。

我想出的代码版本,但想知道是否有更好、更高效、更“Pythonic”的方法来做到这一点:

def count_string(raw_string, string_to_count):
if len(string_to_count) == 0:
raise ValueError("The length of string_to_count should not be 0!")
else:
str_count = 0
string_to_count = string_to_count.lower()
raw_string = raw_string.lower()
if string_to_count not in raw_string:
# this causes early exit if string not found at all
return str_count
else:
while raw_string.find(string_to_count) != -1:
indx = raw_string.find(string_to_count)
str_count += 1
raw_string = raw_string[(indx+1): ]
return str_count

这段代码是用 Python 2.7 编写的,但应该可以在 3.x 中运行。

最佳答案

为什么不用strcount方法呢?

>>> a = "abcghabchjlababc"
>>> a.count("abc")
3

关于python - 在 Python 中计算另一个字符串中的字符串的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42765930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com