当前位置: 代码网 > it编程>前端脚本>Python > Python中find()的用法小结

Python中find()的用法小结

2024年12月09日 Python 我要评论
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()用法内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com