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,劣品,print,用法,索引,字符串,find From: https://blog.csdn.net/jmeter_postman/article/details/143600136