详解python中index()、find()方法

yipeiwu_com6年前Python基础

python中index()、find()方法,具体内容如下:

index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。影响后面程序执行

index()方法语法:str.index(str, beg=0, end=len(string))

  • str -- 指定检索的字符串
  • beg -- 开始索引,默认为0。
  • end -- 结束索引,默认为字符串的长度。
str1='python is on the way']
str2='on'
#空格,等其他操作符对其索引位置也有影响
#在str1中检测字符串中是否含有子字符串str2 str1.index(str2,beg=0,end=len(str1))
#如果包含子字符串 返回检测到的索引值
print(str1.index(str2))
#从索引1开始检测,检测长度为3
print(str1.index(str2,1,3))

如果包含子字符串返回开始的索引值,否则抛出异常。

user_name = ['xiaolei','xiaoman','lixia']
pass_word = ['123','456','789']
username = input('username:').strip()
password = input('password:').strip()
if username in user_name and password == pass_word[user_name.index(username)]:

  print(f"登录成功,欢迎您:{username}")
else:
  print("错误!")
若输入:username == xiaolei
user_name.index(username) == 0
所以:password == pass_word[0] == 123

Python find()方法,不能用于列表list

str.find(str, beg=0, end=len(string))

  • str -- 指定检索的字符串
  • beg -- 开始索引,默认为0。
  • end -- 结束索引,默认为字符串的长度。

Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。不影响后面程序执行

str1='python is on the way'
str2='on'
str3='nice'
print(str1.index(str2))
#不在字符串str1中
print(str1.find(str3))
#从索引1开始检测,检测长度为3
print(str1.find(str2,1,3))

运行结果:

知识点补充:Python将DataFrame的某一列作为index

下面代码实现了将df中的column列作为index

df.set_index(["Column"], inplace=True)

总结

以上所述是小编给大家介绍的python中index()、find()方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python中的id()函数指的什么

Python官方文档给出的解释是 id(object) Return the “identity” of an object. This is an integer (or long i...

Django Rest framework频率原理与限制

Django Rest framework频率原理与限制

前言 开发平台的API接口调用需要限制其频率,以节约服务器资源和避免恶意的频繁调用. DRF就为我们提供了一些频率限制的方法. DRF中的版本、认证、权限、频率组件的源码是一个流程,且...

Python之批量创建文件的实例讲解

批量创建文件其实很简单,只需要按照需要创建写文件、写完关闭当前写文件、创建新的写文件、写完关闭当前文件、、、不断循环即可,以下是一个简单例子,将大文件big.txt按照每1000行分割成...

DataFrame中去除指定列为空的行方法

一次,笔者在处理数据时想去除DataFrame中指定列的值为空的这一行,采用了如下做法,但是怎么都没有成功: # encoding: utf-8 import pandas as p...

python字符串切割:str.split()与re.split()的对比分析

1、str.split不支持正则及多个切割符号,不感知空格的数量,比如用空格切割,会出现下面情况。 >>> s1="aa bb cc" >>> s...