python字符串从左到右索引_python 基础笔记二

本文介绍了Python中的字符串和列表的基础知识,包括变量赋值、数字类型、字符串的索引和切片、字符串方法如strip、upper、lower等,以及列表的获取值、添加、删除、修改元素和排序等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python 变量类型

变量存储在内存中,这意味着在创建变量时会在内存中开辟一个空间,用于存放变量的标识、名称、数据。

变量的赋值:

1.python变量赋值不需要类型声明;

2.每个变量在使用前必须赋值,变量赋值以后该变量才会被创建;

3.如果变量在脚本中多次被赋值(类型不同),以最后一次赋值的数据类型为准

4.用 = 来给变量赋值;

5.多个变量可以同时赋值,如下所示:

5.1)、a=b=c=1

5.2)、a,b,c=1,2,'abc'

标准数据类型

python中五个标准的数据类型:

Numbers(数字)

String(字符串)

List(列表)

Tuple(元组)

Dictionary(字典)

数字型

Python支持四种不同的数字类型:

int(有符号整型)

long(长整型【使用小写l 或大写L来表示,eg:0122L】,也可以代表八进制和十六进制)

float(浮点型)

complex(复数)

字符串

1、Python的字串列表有2种取值顺序:

1.1.从左到右索引默认0开始,最大范围是字符串长度-1;

1.2.从右到左索引默认-1开始,最大范围是字符串开头;

86b043e2b2f3223e48f4ac0f6ef974ae.png

2、字符串的切片操作:使用[头下标:尾下标] 来截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

注意:1.获取的子字符串包含头下标的字符,但是不包含尾下标的字符。

2.[头下标:尾下标:步长]表示从头下标开始,到尾下标的前一个字符结束,每隔步长-1取一个字符

e3f65568e8a2e0953d27ce02f70403cf.png

3、加号+是字符串连接运算符,星号* 是重复操作

a3a7ed8d76a2b606406e509610bf962b.png

4、字符串运算符

下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":

9d0f07981fc88f52ffc9f629ff097f54.png

5、字符串的格式化

5.1、将一个值插入到一个有字符串格式符的字符串中,注意:%s 可以用于替代各种类型的值

eg:print('字符串:%s,长度为:%d'%('abcdef',5)) #输出'字符串:abcdef,长度为:5'

5.2、使用format函数

eg:print('字符串:{str},长度为:{len}'.format(str='abcdefg',len=7)) #输出'字符串:abcdefg,长度为:7'

5.3、python字符串格式化符号:

6da24aa1868b054d5ccfc513506f46d7.png

6、转义字符

cad7b0fda67d413774b93452cd14a320.png

7、字符串常用方法

7.1、strip():去掉字符串两边的空格和换行符

strip(str):去掉字符串两边的str

lstrip():去掉左边的空格和换行符

rstrip():去掉右边的空格和换行符

备注:1)、该方法不会改变原来字符串的值;

2)、如下所示,当你传的参数不管是“abc”还是abc的其他排列形式,这都不重要,重要的是函数只知道你要删除的字符是”a”,”b”,”c”。函数会把你传的参数拆解成一个个的字符,然后把头尾的这些字符去掉。

806701609332841e3be5d70f91abfd91.png

7.2、upper():把字符串转换为大写

7.3、lower():把字符串转换为小写

7.4、capitalize():把首字母改成大写

7.5、count(str):统计str在字符串中出现的次数

7.6、replace(str1,str2):把str1替换成str2,如果字符串中不存在str1,不会报错

7.7、endswith(str):字符串是否以str结尾

endswith(str,start,end):字符串从start开始,到end-1结束之间的字符串子串中是否以str结尾

f329a04dcf441720c7b4c0598eab5371.png

7.8、startswith(str):是否以字符串str开头

7.9、split():默认用空格分割字符串

splict(str):根据str分割字符串,返回值是一个list,如果字符串中不存在str,则把整个字符串作为list的一个元素返回

splitlines():以'\n'分割字符串

7.10、find(str,start,end):检查str是否包含在字符串中,如果start和end指定范围,则检查是否包含在指定范围内,如果是则返回第一个出现的索引值,否则返回-1

7.11、index(str,start,end):跟find()方法一样,只不过如果str不在字符串中会报一个异常

7.12、isalnum():字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

7.13、isalpha():字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

7.14、isdigit():如果是正整数(包含0)则返回 True 否则返回 False

7.15、isspace():如果只包含空格,则返回 True,否则返回 False

7.16、islower():字符串中包含至少一个字母,且所有字符都是小写的,则返回True,否则返回False

isupper():字符串中包含至少一个字母,且所有字符都是大写的,则返回True,否则返回False

7.17、'连接符'.join:把字符串、列表、元组、字典的元素按照连接符组合成字符串,当参数是字典时,只会组合key的值【作用于.split()相反】

6399e57958904571be39e20ebe2810f7.png

7.18、str.zfill(n):将字符串自动填充到n位,前面自动补0

7415400a4ed07ae6ce3ba9ff9db7174c.png

7.19、string类中可以自带[a-zA-Z0-9]的方法:

3678d7abe39a738c8be0917e18a83b29.png

列表

1、列表是最常用的数据类型,可以作为一个方括号内的逗号分隔值出现,列表的数据项不需要具有相同的类型;索引值从0开始。

2、获取列表的值:

2.1、变量名:获取所有元素

2.2、变量名[下标]:左边下标从0开始,当下标为负值时从右边取值(右边下标从-1开始),当输入的下标不存在

时,脚本执行会报错;

2.3、变量名.count(元素值):查询某个元素在list里面出现的次数;

2.4、变量名.index(元素值):查找元素的下标,如果输入的元素不存在,会报错;

2.5、变量名.reverse():反转list,没有返回值时,显示None

a7e66c6f281520874483c9407ca664ff.png

2.6、列表切片:变量名[start:end] 表示从下标start开始,到下标end-1结束之间的元素

备注:1)、当start为空时,表示从下标0开始截取;如果end为空时,表示截取到最后一个元素,注意即使为空,冒号:也不可以省略;

2)、当下标为负数时,表示从右边开始截取,最右边的元素下标为-1,以此类推;

3)、变量名[start:end:步长] 表示从下标start开始,到下标end-1结束之间的元素按照(步长-1)的长度取值

0b35715405a59543d8852118a3d83164.png

3、添加元素:

3.1、.append(元素):将元素插入到列表的末尾

3.2、.insert(下标,元素):将元素插入到列表指定的位置

备注:insert函数是将原来下标的元素往后移,所以当想把元素插入到列表末尾,只能用append函数

eb33cf4602ab922ac6a089ff8de1698f.png

4、删除元素:

4.1、.pop():删除末尾最后一个元素

4.2、.pop(下标):删除列表中指定位置的元素,如果输入的下标不存在会报错并提示下标越界

4.3、.remove(元素):删除列表中指定的元素,当存在多个相同元素时,则删除第一个出现的元素

4.4、del list[下标]:删除列表中指定位置的元素,当下标输入负值时,即从右到左,下标从-1开始

f77578ae9c570be6547908302f26d5bb.png

5、修改元素值:list[下标] = 元素

d131a221754f79700e7bc1bfca086405.png

6、清空列表元素:.clear()

7、排序:

7.1)、.sort():升序排序,当列表中存在多种类型的元素时,不能进行排序

7.2)、.sort(reverse=True):降序排序

8、加入另一个列表:

8.1)、list1.extend(list2)   :将list2的内容添加到list1中,返回结果为None

8.2)、list_new = list1 + list2

8.3)、list_new = list1 * 3    将list1 重复三次赋值给list_new

9、判断元素是否存在于列表中:in 、not in

10、列表长度:len(list1)

11、枚举,可以同时枚举下标和元素:enumerate(list1)

ffe15862fe44611aa27d3e309a3d5627.png

输出结果:

b4349bf5178323a663da21cb600a38dd.png

12、循环删除list元素:同一个list不能在循环中删除元素,会因为下标错位导致结果有误,可以通过定义一个元素一样的list进行删除

9315fcfcf455be1bdd4d3c6bd0f05a27.png

13、浅拷贝:将某个列表赋值给另一个变量即为浅拷贝,两个变量指向的是同一个地址

b722f177ffa242c356b9daede9eca72a.png

14、深拷贝:一种方法是重新定义一个元素相同的列表,在内存中重新开辟空间保存数据;另一种是使用方法copy.deepcopy(l1)

cb602f9a23c9e74e6fc25d83e6f3114c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值