index()方法——字符串首次出现的索引位置

news2024/12/25 8:54:48

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

语法参考

index()方法用于查询一个字符串在其本身字符串对象中首次出现的索引位置。它与find()方法功能相同,区别在于当find()方法没有检索到字符串时会返回-1,而index()方法会抛出ValueError异常。index()方法的语法格式如下:

str.index(sub,start,end)

参数说明:

l  str:表示原字符串。

l  sub:表示要检索的子字符串。

l  start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索。

l  end :可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾。

    快用锦囊

锦囊1  使用index()方法检索指定字符串出现的位置

定义一个字符串,然后使用index()方法检索该字符串中首次出现“@”符号的位置索引,代码如下:

str1 = '790129881@qq.com'

print('@符号首次出现的位置为:',str1.index('@'))

运行程序,输出结果为:

@符号首次出现的位置为: 9

如果输入的子字符串在原字符串中不存在,将会产生异常,这一点与find()方法不同。

锦囊2  查询字符串中指定字符的全部索引

Python中字符串只提供了index()方法来获取指定字符的索引,但是该方法只能获取字符串中第一次出现的字符索引,所以要想获取字符串中指定字符的全部索引时需要通过自定义函数的方式来实现。代码如下:

str_indx_list=[]                 # 保存指定字符的索引

def get_multiple_indexes(string,str):

    str2 = string                # 用于获取字符串总长度

    while True:                 # 循环

        if str in string:       # 判断是否存在需要查找的字符

            first_index = string.index(str)  # 获取字符串中第一次出现的字符对应的索引

            string =string[first_index+1:]   # 将每次找打的字符从字符串中截取掉

            sum=len(str2)-len(string)        # 计算截取部分的长度

            str_indx_list.append(sum-1)      # 长度减1就是字符所在的当前索引,将索引添加列表中

        else:

            break                            # 如果字符串中没有需要查找的字符就跳出循环

    print(str_indx_list)                      # 打印指定字符出现在字符串中的全部索引

s = "aaabbdddabb"                               # 测试用的字符串

get_multiple_indexes(s,'a')           # 调用自定义方法,获取字符串中指定字符的全部索引

运行程序,输出结果如下:

[0, 1, 2, 8]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1878693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

15 个适用于企业的生成式 AI 用例

作者:来自 Elastic Jennifer Klinger 关于生成式人工智能及其能做什么(和不能做什么)有很多讨论。生成式人工智能(例如大型语言模型 - LLMs)利用从大量训练数据中学习到的模式和结构来创建原创内容,而无需存…

ISO15765-2 道路车辆——通过控制器局域网(CAN)进行诊断通信 (翻译版)(万字长文)

ISO15765-2 道路车辆——通过控制器局域网(CAN)进行诊断通信 (翻译版)(万字长文) 文章目录 ISO15765-2 道路车辆——通过控制器局域网(CAN)进行诊断通信 (翻译版)(万字长文)第二部分:传输协议和网络层服务前言Foreword…

全球海洋平均质量变化的时间序海洋、冰和水文等效水高数据集

Tellus Level-4 Antarctica Mass Anomaly Time Series from JPL GRACE/GRACE-FO Mascon CRI Filtered Release 06.1 version 03 从 JPL GRACE/GRACE-FO Mascon CRI 过滤发布的 Tellus Level-4 南极洲质量异常时间序列 06.1 版本 03 简介 该数据集是全球海洋平均质量变化的时…

Nvidia显卡GeForce Experience录屏操作流程

安装软件 首先我们从英伟达官网下载GeForce Experience程序,安装在电脑中GeForce Experience(简称 GFE)自动更新驱动并优化游戏设置 | NVIDIA 登录软件 安装完成后登录 开启录屏功能 登录后点击右上角的设置(小齿轮图标&#x…

数据结构-循环链表和双向链表

目录 前言一、循环链表1.1 循环链表的介绍1.2 循环链表的实现 二、双向链表2.1 双向链表的介绍2.2 双向链表的实现 三、循环双链表总结 前言 本篇文章介绍数据结构中的循环链表和双向链表 一、循环链表 1.1 循环链表的介绍 将单链表的形式稍作改变,单链表的最后…

vue3 使用JsMind的方法,JsMind节点点击事件,以及引入提示报错,无法找到模块“jsmind”的声明文件

最终结果: 一、使用:使用yarn或者npm 安装 yarn add jsmind npm install vue-jsmind 二、引入 两种方法:(如果这样引入没问题按照这样引入) import "jsmind/style/jsmind.css"; import JsMind from &quo…

LitelDE安装---附带每一步截图以及测试

LiteIDE LiteIDE 是一款专为Go语言开发而设计的开源、跨平台、轻量级集成开发环境(IDE),基于 Qt 开发(一个跨平台的 C 框架),支持 Windows、Linux 和 Mac OS X 平台。LiteIDE 的第一个版本发布于 2011 年 …

华为RH2288H V2服务器,远程端口安装Linux操作系统

1、管理口 每台服务器的管理口不一样的,假如我的管理IP地址为:192.168.111.201 使用网线,将管理口和自己电脑连接起来,自己ip地址设置成和管理ip同一网段。 使用 ie 浏览器,如果是Edge,必须在Internet Exp…

weiyang**2.部署

一、官方文档 一键部署可以在 同机 快速搭建WeBASE管理台环境,方便用户快速体验WeBASE管理平台。 一键部署会搭建:节点(FISCO-BCOS 2.0)、管理平台(WeBASE-Web)、节点管理子系统(WeBASE-Node-…

20240630 每日AI必读资讯

📚全美TOP 5机器学习博士发帖吐槽:实验室H100数量为0! - 普林斯顿、哈佛「GPU豪门」,手上的H100至少三四百块,然而绝大多数ML博士一块H100都用不上 - 年轻的研究者们纷纷自曝自己所在学校或公司的GPU情况&#xff1a…

MDA管理层讨论与分析内容信息披露情感分析数据(2010-2022年)

数据简介:MD&A通常是指管理层讨论与分析(Management Discussion & Analysis),是上市公司年报中一个重要的部分,主要包含公司经营业绩的讨论,以及未来前景的预测等。MD&A可以帮助投资者更好地理…

Python数据分析-股票分析和可视化(深证指数)

一、内容简介 股市指数作为衡量股市整体表现的重要工具,不仅反映了市场的即时状态,也提供了经济健康状况的关键信号。在全球经济体系中,股市指数被广泛用于预测经济活动,评估投资环境,以及制定财政和货币政策。在中国…

Java教程之IO模式精讲,NIO+BIO

第一章 BIO、NIO、AIO介绍 背景 在java的软件设计开发中,通信架构是不可避免的,我们在进行不同系统或者不同进程之间的数据交互,或 者在高并发下的通信场景下都需要用到网络通信相关的技术,对于一些经验丰富的程序员来说&#x…

从0到1搭建Java开发环境(内涵超详细教程、软件、提供网盘链接直接一步到位!!!!)

软件部分 需要的软件为下面两个: IDEANavicat 需要的可以自行拿(安装教程和软件): 链接:https://pan.baidu.com/s/1y3RoMt0ZapyJsj3P0DPaVA?pwdxr4p 提取码:xr4p 环境部分 需要的环境为以下几个&…

什么是自然语言处理(NLP)?详细解读文本分类、情感分析和机器翻译的核心技术

什么是自然语言处理? 自然语言处理(Natural Language Processing,简称NLP)是人工智能的一个重要分支,旨在让计算机理解、解释和生成人类的自然语言。打个比方,你和Siri对话,或使用谷歌翻译翻译一…

Rocketmq-集群部署(Master-Slave)

使用中间件版本:rocketmq-4.5.2环境介绍及角色划分 这里采用俩台机器做集群的搭建,172.0.0.1 以及 172.0.0.2 服务器172.0.0.1 做为a-master与b-slave。 服务器172.0.0.2 做为b-master与a-slave。 配置讲解图(主要说明区分点) 配置rocketmq环境变量,这里…

【嵌入式CLion】进阶调试——WSL下的Linux体验

说明: 1,这里所指的嵌入式其实是指嵌入式微控制器MCU,即单片机 2,万事开头难,本文目前提供了WSL工具链的搭建,后面会持续更新 一、启用RTOS集成 在搭建WSL工具链之前,先讲一下集成的RTOS功能&a…

产品是应该有生命力的

产品是应该有生命力的 在日新月异的商业环境中,产品被寄予厚望,不仅仅满足基本功能需求,而是要能够自我革新,适应市场和技术的快速变化,以及持续吸引并留住用户。 这种生命力体现在产品的迭代升级能力、对用户需求的精…

计算机毕业设计Flink+Hadoop广告推荐系统 广告预测 广告数据分析可视化 广告爬虫 大数据毕业设计 Spark Hive 深度学习 机器学

专业 小四号宋体 班级 小四号宋体 姓名 小四号宋体 学号 小四号宋体 指导教师 小四号宋体 题目 基于大数据的B站广告投放分析及可视化 (1.内容包括:课题的来源及意义,国内外发展状况,本课题的研究目标、内容、方法、手…

Python Theano库:符号定义与自动微分的神奇魅力!

更多Python学习内容:ipengtao.com Theano是一个Python库,用于定义、优化和评估涉及多维数组的数学表达式。它是深度学习领域的早期先驱之一,广泛用于高性能计算和神经网络的研究与开发。本文将详细介绍Theano库的安装、主要功能、基本操作、高…