python - “字符串中的字符”python方法有效吗?
问题描述
Python 内置的查找子字符串的方法是否足够有效地查找字符匹配?我在某处读到,即使找到匹配项,它也会继续循环遍历字符串直到最后,但无法在互联网上找到相关信息。这种方法在 Python 3.7 中实际上是否有效,或者我应该像这样编写自己的函数(或者也许有更有效的方法?):
def char_in_str(char:str, string:str):
for i in string:
if i == char:
return True
return False
解决方案
那肯定会短路(只要你点击return
,功能就完成了;它不能继续寻找)。请注意,有效的实施将是:
def char_in_str(char:str, string:str):
return char in string
或者,如果您只希望它char
在实际上是长度为一个字符串时成功:
def char_in_str(char:str, string:str):
return len(char) == 1 and char in string
在这两种情况下,in
运算符在找到匹配项时都会短路,并且与您的代码不同,在解释器本身(在 CPython 中,在 C 中)实现的实现比 Python 级循环更有效。
推荐阅读
- floating-point - 无法确定为什么浮点比较会给出语法错误
- javascript - Postman API - 变量生成但未按预期传递
- javascript - 你的渲染方法应该有return语句吗?
- react-native - 我想从没有expo方法的react native开始..我发现了这个错误
- git - 列出 repo 项目的所有 git 子项目中的所有分支
- python - 在 Python 中使用完全可定制的箭头创建流场
- java - Eclipse 和 MySQL 之间的连接出现错误
- docker - 如何将 docker 镜像中的数据与 kubernetes 卷(NFS)合并
- javascript - 过滤掉 null 或未定义的属性
- c# - fileapi.h 中 Readfile() 的非阻塞替代方案?C#