python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python find()用法

Python中find()的用法小结

作者:武当豆豆

Python中find()函数用于在字符串中查找目标字符或子字符串,并返回索引,本文就来介绍一下Python中find()的用法,具有一定的参考价值,感兴趣的可以了解一下

Python中find()函数是字符串对象的方法,只能在字符串上调用,用于检测查询字符串中的目标字符(串),并返回索引。有目标字符(串),则返回目标字符(串)第一次出现的索引(字符串中字符索引从左到右,从0开始计算);无目标字符(串),则返回 -1。

语法:str.find(string,start,end)

str:待查询的字符串。

string:待检测的目标字符(串),可为单个字符或多个字符组成的字符串。

start:从待查询的字符串中搜索的起始位置,可不填,但不能空置,不填时为0。

end:从待查询的字符串中搜索的结束位置,有end必须要有start,否则会报错;可不填,不填时为字符串长度。

实例

实例一、简单字符查找

1、查找待查询字符串中目标字符,返回目标字符的索引。

s="Hello Word!"
a="o"
print("字符o在字符串中的索引为:",s.find(a))#输出结果为字符o在字符串中的索引为: 4

2、查找待查询字符串固定位置目标字符,返回目标字符的索引。

s="Hello Word!"
a="o"
print("字符o在字符串中的索引为:",s.find(a,0,4))#输出结果为字符o在字符串中的索引为: -1
print("字符o在字符串中的索引为:",s.find(a,6,8))#输出结果为字符o在字符串中的索引为: 7
print("字符o在字符串中的索引为:",s.find(a,1))#输出结果为字符o在字符串中的索引为: 4

3、查找待查询字符串中所有符合条件的字符(串),并返回字符串索引  。

s="Hello Word!"#定义字符串
start_index=0#初始化起始位置
while True:
    index=s.find("o",start_index)
    if index==-1:
        break
    else:
        print("字符o的索引位置为:",index)
    start_index=index+1#更新起始位置
'''
输出结果为:
字符o的索引位置为: 4
字符o的索引位置为: 7
'''

4、查找条件填写错误

s="Hello Word!"
a="o"
print("字符o在字符串中的索引为:",s.find(a,,10))#start位置空置未填写数据导致运行报错

'''
File "e:110701.py", line 3
    print("字符o在字符串中的索引为:",s.find(a,,10))#输出结果为字符o在字符串中的索引为: -1
                                   ^
SyntaxError: invalid syntax
'''

实例二、结合if语句进行实践

 过7游戏

一圈人从1开始报数循环,逢7的倍数或数字中包含7不能喊具体数字,以鼓掌一次形式跳过,喊出数字或未鼓掌一次跳过视为违规,需要接受惩罚。

简化一下,输入一个整数,计算小于这个数字中所有符合条件的数字并统计数量。

n=int(input("请输入数字:"))#input函数返回的结果类型为str
num=1
sum=0

while num <= n:
    if num % 7==0 or str(num).find("7")!=-1:
        print(str(num) + " pass")
        sum+=1
    else:
        pass
    num+=1
print("sum =",sum)
print("#"*20)
'''
输入数字30,结果为:
请输入数字:30
7 pass
14 pass
17 pass
21 pass
27 pass
28 pass
sum = 6
####################
'''

实例三、结合for语句进行实践

 瑕疵产品筛选

有一批产品已归类,产品列表中编号100-109,分为优、良和劣三个等级,顺序为:优上、良上、良中、劣上、劣中、优中、优下、劣下、良中、劣下,请筛选出劣品的产品编号。

#定义字典
Products={100:"优上",101:"良上",102:"良中",103:"劣上",104:"劣中",105:"优中",106:"优下",107:"劣下",108:"良中",109:"劣下"}

values=Products.values()#取出所有值
full_list=[]#创建空列表

#取出所有符合条件的值,添加到列表中,并去重
for value in list(values):
    if value.find("劣")!=-1:
        full_list.append(value)
        set_list=set(full_list)

#找出所有符合条件的产品及编号
for x in range(100,110):
    for y in set_list:
        if Products.get(x)==y:
            print("产品%s为劣品,劣品编号为%s"%(y,x))
'''
输出内容为:
产品劣上为劣品,劣品编号为103
产品劣中为劣品,劣品编号为104
产品劣下为劣品,劣品编号为107
产品劣下为劣品,劣品编号为109
'''

到此这篇关于Python中find()的用法小结的文章就介绍到这了,更多相关Python find()用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文