Python里面list用find查找某一关键字,如果返回是-1,该如何处理? phonelist.find('139') == -1?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python里面list用find查找某一关键字,如果返回是-1,该如何处理? phonelist.find('139') == -1?相关的知识,希望对你有一定的参考价值。

这个问题有点奇怪,python中list好像没有find方法吧,不过字符串中有。
你可以循环这个list,然后对list中的元素使用find方法,也就是for循环里面用个if判断,要是找到就做什么,没找到做什么,比如
for l in list:
if str(l).find('some string') < 0:
#do some thing
else:
#do other thing
参考技术A 返回-1表明没找到139这个串啊, 你要做什么处理看你的业务逻辑

请问在linux下或windows下分别实现在多文件中查找关键字

我现在有一个目录,这个目录里面有很多的子目录和文件。我想在整个目录中的所有文件中实现对某一关键字的查找。
我知道linux里面有grep和sed工具。但我不知道具体怎么用,是不是要编一个shell才能实现啊??
还有windows下有没有实现这个在多文件查找关键字功能的好软件或工具啊
好吧,我来贴出正解吧。
专研了一下,发现其实可以有四种方法:
find 文件目录 -name ‘*.*' -exec grep 'xxx' + -n
或是
find 文件目录 -name '*.*' | xargs grep 'xxx' -n
或是
grep 'XXX' 文件目录 -Rn
或是
grep 'XXX' `find 文件目录 -name '*.*'`

谁能告诉我windows下有没有比较好的工具啊。。。

find . -print |xargs grep "xxx"
grep "xxx" ./ -rn

use windows built in search; 我记得notpad++ 有一个可以搜目录文件中关键字的功能
参考技术A linux

find 文件目录 -name '*.c' exec grep -l 'xxx' \;

or

find 文件目录 -name '*.c' | xargs grep -l 'xxx'追问

请解释一下上述的指令吧

追答

find 文件目录 -name '*.c' 这个是在文件目录里面查找所有以.c为扩展名的文件
后面的是在这个文件里面查找xxx关键字

追问

我试了一下,
应该是
find 文件目录 -name ‘*.*' -exec grep 'xxx' + -n;

find 文件目录 -name '*.*' | xargs grep 'xxx' -n;
是'+'号而不是'\'号。这难道是find的版本问题吗?

追答

'\'号 是find 里面exec要有的 至于+号我就不清楚了

以上是关于Python里面list用find查找某一关键字,如果返回是-1,该如何处理? phonelist.find('139') == -1?的主要内容,如果未能解决你的问题,请参考以下文章

请问在linux下或windows下分别实现在多文件中查找关键字

linux 怎么查找文件关键词

C#中list<>定义的变量,我用foreach()循环查找 与 list<> .find 查找两个哪个效率高?后者是不是用了算法

想用Python对csv表格中的某一列数据进行关键词筛选

python爬虫,用find_all()找到某一标签后,怎么获取下面数个同名子标签的内容

python使用二分法实现在一个有序列表中查找指定的元素