python-3.x - 我不明白下面的表达式是如何工作的
问题描述
这是我为了查看输出而复制的部分代码,
def check(string,sub_str):
if(string.find(sub_str)==-1):
print('no')
else:
print('yes)
# driver code for testing the above function
string='geeks for geeks'
sub_str='geeks'
我特别想了解这个表达式是如何工作的 :
if(string.find(sub_str)==-1):
。此外,此代码用于在给定字符串中查找子字符串,有人可以判断这是否是最佳方法,我知道这是教程代码,但我有一种更简单的方法来查找子字符串。只是想知道这是否会使通过测试用例更容易,因此上面的代码。无论如何,谢谢大家的回答。
解决方案
该方法find()
返回您正在查找的字符串的索引。前面的字符串find()
是您要在其中查找第二个字符串的字符串。
SentenceThatIsCompletelySearched.find(ForThisPartHere)
如果您要查找的字符串存在,它将返回索引(找到该字符串的句子位置的数字)。
如果字符串不在句子中,则find()
返回 -1(一个数字)。
因此,在您的情况下,您正在检查是否sub_str
在内部string
,如果不存在(返回 -1),您将打印“否”。如果是,您将打印“是”。
推荐阅读
- memory - 为什么操作系统保持在低内存中?
- python - 带有编码设计 ( html ) 文本的 Python 电子邮件
- reactjs - ReactJS 需要帮助找到最大深度超出错误的原因
- ios - Swift:如何更改应用程序内部的语言?
- visual-studio-code - 用VSCode搭建python环境,安装python插件时,VSCode无法识别'python:Select Interpreter'命令
- kubernetes - 如何引用 kubernetes docker-registry
- php - 如何使用 PHP REST API 和使用 JSON 格式的 REACT js 上传图像?
- r - 转换时态数据时不需要的 NA
- python -
为什么我的 python 代码没有显示按钮? - firebase-realtime-database - 使用 Flutter 监听特定 Firestore 文档中的两个准确(但独立)的字段