多测师肖sir_高级金牌讲师_python之 字符、索引、切片、列表、集合004

news2024/9/24 21:23:36

python之 字符、索引、切片、列表、集合
一、索引

索引在公司中一般叫下标或角标
定义:我们可以直接使用索引来访问序列中的元素,同时索引可分为正向和负向两种,而切片也会用到索引,下面放上一个图,有助于大
家理解正、负向索引的区别,
如图所示:
在这里插入图片描述
正向索引:从0开始 ,从左开始计算
负向索引:从-1开始 ,从右开始计算

存在索引:字符、列表、元组 (有序)

二、Python中的切片
定义:切片是指对操作的对象截取其中一部分的操作,字符串、列表、元组都支持切片操作。
切片的语法:[start_index : end_index : step]
解释说明:
start_index表示起始索引
end_index表示结束索引
step表示步长,步长不能为0,且默认值为1
注意:切片操作是指按照步长,截取从起始索引到结束索引,但不包含结束索引
(也就是结束索引减1)的所有元素。

案例:
str1=‘abcdefghijk’
print(str1[1:5]) #bcde
在这里插入图片描述

012345678910

str1=‘abcdefghijk’
print(str1[1:5]) #bcde
print(str1[0]) #a
print(str1[:]) #为空代表所有, #abcdefghijk
print(str1[3:])# defghijk
print(str1[::-1]) #反转 #kjihgfedcba
print(str1[::1]) #abcdefghijk
print(str1[::3]) #adgj 步长:每隔3个
print(str1[2:8:2])#ceg
print(str1[1:2]) #b
print(str1[-1:-8:-2]) #kige
print(str1[-1:-8:-1]) #kjihgfe
print(str1[0:-1]) #abcdefghij

=================================================
字符串
1、字符串是Python中最常用的数据类型。我们可以使用单引号’'或者双引号""来创建字符串。
2、字符串中的函数
(1)capitalize():首字符大写
案例:
str1=‘abcdefghijk’
print(str1.capitalize())
截图:
在这里插入图片描述

(2)title()
案例:
str1=‘abcde fghijk’
print(str1.title())
截图:
在这里插入图片描述
(3)count():统计具体字符出现的次数
案例:
str1=‘abcdeaafghijk’
print(str1.count(“a”))

截图:
在这里插入图片描述
(4)join():把集合中的字符按自定义的分隔符连接在一起
案例:

str1=‘abcdeaafghijk’
print(“!”.join(str1))
截图:
在这里插入图片描述
(5)split():把字符串通过指定标识符进行分割
案例:
str1=‘abcdeaafghijk’
print(str1.split(b’')) #[‘a’, ‘cdeaafghijk’]

截图:

在这里插入图片描述
(6)strip(ab):删除字符串开头和结尾有a或b的字符
案例:
str1=‘abcdeaafghijkab’
print(str1.strip(‘ab’)) #cdeaafghijk
截图
在这里插入图片描述
(7)lstrip(字符):删除字符串开头有指定的字符
案例:
str1=‘abcdeaafghijkab’
print(str1.lstrip(“ab”)) #cdeaafghijk

截图:
在这里插入图片描述
(8)rstrip(字符串):删除字符串结尾有指定的字符
案例:
str1=‘abcdeaafghijkab’
print(str1.rstrip(“ab”)) #abcdeaafghijk

截图:

在这里插入图片描述
(9)、startswith():判断字符串是否以什么开始
案例:

str1=‘abcdeaafghijkab’
print(str1.startswith(“a”)) #True
print(str1.startswith(“sa”)) #False

截图:
在这里插入图片描述
(10)endswith():判断字符串是否以什么结束
在这里插入图片描述
(11)find()/rfind(): 字符串查询find()是左边开始查,rfind()从右边开始查,结果 显示下标(索引位)
案例:
str1=‘abcdbeaafghijkab’
print(str1.find(“b”)) #1
print(str1.rfind(“b”)) #15
截图:

在这里插入图片描述
(12)replace():replace(substring,newstring,max) substring表示被替换的字符串,newstring要替换字符串,max表示替换的次数
案例:
str1=‘abcdbeaafghijkab’
print(str1.replace(“b”,“1”)) #a1cd1eaafghijka1
print(str1.replace(“b”,“1”,2)) #从左往右开始替换 #a1cd1eaafghijkab
截图:
在这里插入图片描述
(13)lower():方法转换字符串中所有大写字符为小写
案例:
str2=‘ABC’
print(str2.lower())#abc
截图:
在这里插入图片描述
(14)upper():将字符串中的所有小写字符转换为大写字母输出
案例:
str3=“xyz”
print(str3.upper())#XYZ
截图:
在这里插入图片描述
(15)isdigit():判断字符串中是否全为数字
案例:
str3=“xyz11”
str4=“1223”
print(str3.isdigit())#False
print(str4.isdigit())#True
截图:
在这里插入图片描述
16、isalpha():判断字符串中是否全为字母
案例:
str1=‘abcdbeaafghijkab’
str2=‘ABC’
str3=“xyz11”
str4=“1223”
print(str1.isalpha())#True
print(str3.isalpha())#False
print(str2.isalpha())#True

截图:
在这里插入图片描述
17、isalnum():判断字符串当中是否全都为数字,全为字母,或者数字字母组合
案例:
str1=‘abcdbeaafghijkab’
str2=‘ABC’
str3=“xyz11”
str4=“1223”
str5=“__”
print(str1.isalnum())#True
print(str3.isalnum())#True
print(str2.isalnum())#True
print(str5.isalnum()) #False
截图:
在这里插入图片描述
18、istitle():判断字符串中首字母是否为大写,其他是否为小写,其他不为小写则为否
案例:
str1=‘abcdbeaafghijkab’
str2=‘Abc’
str3=“AyB11”
str4=“1A223”
str5=“__S”
print(str1.istitle())#False
print(str2.istitle())#True
print(str3.istitle())#False
print(str4.istitle()) #True
print(str5.istitle()) #True
截图:
在这里插入图片描述
19、isupper()/islower():is开头的就是判断一个字符串是否展示为都是大写或者都是小写
案例:
str1=‘abcdbeaafghijkab’
str2=‘Abc’
str3=“AB”
str4=“1A223”
str5=“__S”
print(str1.isupper())#False
print(str1.islower())#True
print(str2.islower())#False
print(str3.isupper())#True
截图:
在这里插入图片描述

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

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

相关文章

Docker 网络访问原理解密

How Container Networking Works: Practical Explanation 这篇文章讲得非常棒,把docker network讲得非常清晰。 分为三个部分: 1)docker 内部容器互联。 2)docker 容器 访问 外部root 网络空间。 3)外部网络空间…

MySQL数据库技术笔记(6)

新建两张表,班级表和学生表,因为班级表与学生表之间是 1 对多的关系,需要将少的表的主键放置多的 表中称为外键。 添加班级信息 添加学生信息并关联对应的班级 连接查询,表示查询的时候关联多张表进行查询 最终两张表的交叉连接…

面试算法24:反转链表

题目 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。例如,把图4.8(a)中的链表反转之后得到的链表如图4.8(b)所示。 分析 由于节点j的next指针指向了它的前一个节…

别用==比较包装类

前两天工作把代码合并到主分支时,被公司的安全监测机制拦截了,一看是因为用了来比较Integer类型。 在阿里开发手册中,有这样一条:在包装类进行比较的时候,要用equals方法,而不是。 具体的原因下面也讲解的…

提升爬虫IP时效:解决被封IP的难题

在进行数据采集时,经常会遇到被目标网站封禁IP的情况,这给爬虫系统带来了困扰。本文将介绍如何提升爬虫IP的时效,解决被封IP的难题,帮助您顺利进行数据采集,不再受限于IP封禁。 第一步:使用爬虫IP 使用爬虫…

飞书应用机器人文件上传

背景: 接上一篇 flask_apscheduler实现定时推送飞书消息,当检查出的异常结果比较多的时候,群里会有很多推送消息,一条条检查工作量会比较大,且容易出现遗漏。   现在需要将定时任务执行的结果记录到文件,…

ESPHome不经过HA设备1直接控制设备2

目录 1.公共配置文件2.设备2:台灯3.控制器(http.post)4.获取状态(http.get) 1.公共配置文件 #wifi.yaml wifi: networks:- ssid: "123"password: "www.123.com"- ssid: "456"password: "www.123.com"# 当连接不上指定wifi,开启热点配…

idea-java: 错误: 无效的源发行版:16

1.CtrlAltShiftS 2.jdk版本对应好 3.modules中一栏sdk 4.modules中一栏源码 5.所有modules修改 6.修改项目配置 ctrlalts,修改为指定版本,应用即可

codesys【按钮】

1用于控制bool信号。 1声明全局变量 2绑定该变量 运行后,按钮就能控制这个bool变量了。 2按钮【自复位】 3按钮【锁位】

订购OV通配符SSL证书

目前很多单位申请OV通配符SSL证书,一头雾水,其实操作还是比较简单的。 订购条件OV通配符组织单位,申请之前需要确定好单位全程,并且在第三方一些主流的公共平台可以查到主体信息。 然后根据以下步骤操作就可以了: 1…

什么是API接口?给大家举例说明

Api接口也就是所谓的应用程序接口,api接口的全称是Application Program Interface,通过API接口可以实现计算机软件之间的相互通信,开发人员可以通过API接口程序开发应用程序,可以减少编写无用程序,减轻编程任务&#x…

WARNING: There was an error checking the latest version of pip.

警告:检查最新版本的pip时出错 忽略无效的分发 -ip VPN网络的提示对我非常有帮助。模块安装失败,出现上述警告,并重试连接断开警告: WARNING: There was an error checking the latest version of pip. WARNING: Retrying (Retr…

【JavaEE】_tomcat的安装与简单使用

目录 1. 安装tomcat 1.1 下载tomcat并解压缩 1.2 启动tomcat 1.3 访问tomcat欢迎页面 2. tomcat简单使用:部署前端代码 3. 基于tomcat的网站后端开发 tomcat是一个HTTP服务器,HTTP协议就是HTTP客户端与HTTP服务器之间通信使用的协议。 其中HTTP客…

编写一个应用程序,给出汉字‘你’、‘我’、‘他’在Unicode表中的位置。

(1)思路\n\n通过类型转换来显示中文的位置。 (2)代码实现 public class Place{public static void main (String args[]){char chinaWord 你;char china_Word 我;char china__Word 他;System.out.println("汉字: "ch…

OCP Java17 SE Developers 复习题04

答案 F. Line 5 does not compile. This question is checking to see whether you are paying attention to the types. numFish is an int, and 1 is an int. Therefore, we use numeric addition and get 5. The problem is that we cant store an int in a String variab…

新媒体达人投放技巧有哪些,投放总结!

达人投放,一个当今时代品牌传播跳不开的词。关于达人投放的优势与特点,相信所有人都已经不在陌生。但是真的进行达人投放时,又该如何实施,今天来分享下新媒体达人投放技巧有哪些,投放总结! 一、品牌不同阶段…

Redis分布式系统: 主从复制

“你小心保管我,不思议的念头。秘密从不会对谁泄漏~” 什么是分布式系统? 分布式系统的出现,就是为了解决单机问题(硬件资源不足)。在分布式系统中,通常会把数据复制多个副本部署到其他服务器,满⾜故障恢复和负载均衡等…

通讯网关软件020——利用CommGate X2Mysql实现Modbus TCP数据转储Mysql

本文介绍利用CommGate X2MYSQL实现从Modbus TCP设备读取数据并转储至MYSQL数据库。CommGate X2MYSQL是宁波科安网信开发的网关软件,软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示,实现从Modbus TCP设备读取数据并转储至M…

苹果ios安卓apk应用APP文件怎么修改手机APP显示的名称

修改应用名称虽然很简单,但是也是由很多喜欢代码却不是很懂代码的白白同学,所以在这里我简单的说一下具体的话还是要靠同学们自行研究,由更好的方式也可以评论区说一下哈,让俺们也学习学习。 要修改 APK 文件的应用名称&#xff…

【rust基础】基本类型、所有权与借用、复合类型

文章目录 1 基本类型1.1 数值类型1.1.1 Rust 中的内置的整数类型:1.1.2 浮点类型1.1.3 数学运算1.1.4 位运算1.1.5 序列(Range) 1.2 字符、布尔、单元类型1.3 语句和表达式1.4 函数 2 所有权与借用2.1 栈(Stack)与堆(Heap)2.2 所有权原则2.2.1 转移所有权2.2.2 克隆…