PYTHON:if not i.find ("Hey") 和 if i.find ("Hey") 之间的区别 == -1

标签 python string

我有以下代码:

import os
from os.path import join, getsize

def main():
    directory = "\Surveys_I"
    for root, dirs, files in os.walk(directory):
       for i in dirs:
            if not i.find("Hey"):
                 print i

如果我使用上面的代码,我(违反直觉)得到一个包含单词 Hey 的所有文件的列表。如果我这样做

if i.find("Hey") == -1 我只得到不包含 hey 的文件。

如果我这样做:

如果 i.find("Hey") == 1,我一个文件都没有。

这是怎么回事?

最佳答案

除了所有其他正确答案之外:

如果您只想得到一个字符串是否包含(某处)在另一个字符串中的 bool 结果,您可以使用 in 运算符:

if "hey" not in i:
    print i

关于PYTHON:if not i.find ("Hey") 和 if i.find ("Hey") 之间的区别 == -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19833066/

相关文章:

python - 选择哪种文件模式并循环创建列表

python - 移动数据帧的每个值而不更改列

java - StringBuilder中append的参数是一个新的String对象,会不会被垃圾回收?

Java 8/9 : Can a character in a String be mapped to its indices (using streams)?

php - 从 PHP 中的字符串创建一个唯一的 4 字节整数

python - 如何在 VS Code jupyter 笔记本集成中使用 python 虚拟环境?

python - 我应该如何学习 Python?

python - 在Python中读取点文件

java - 在Java中查找字符串中所有出现的子字符串

string - Julia:是否可以通过将一段内存重新解释为字符串来创建字符串?