1.python中得索引:索引分为正向索引和反向索引,正向索引从0开始,反向索引从-1开始。
在序列中使用索引取值得时候,使用的时中括号。
str1='ekdsjoplu'print(str1[3]) 输出结果 sprint(str1[5]) 输出结果 o 正向索引print(str1[-2]) 输出结果 p 反向索引
2.python中的切片:[start_index:end_index:step]
切片取值时,不包含结束索引
step步长,不能为0,默认为1(默认为1时可以不写)如果步长为-1,就是反向取值,切片时,
取的值里面含有开始下标和结束下标,可以不用表达出来。
[:4] == 表示取值范围从开始下标到下标位为4的所有值
[2:] == 表示取值范围从下标为2到结束下标的所有值
[:] == 表示取值范围从开始下标到结束下标的所有值
str1='ekdsjoplu'print(str1[3:6:1]) 输出结果:sjo print(str1[2:7]) 输出结果:dsjop (注:不含结束索引)print(str1[::2]) 输出结果:edjpu 取值范围为所有时,可以不用写起始下标,步长为2print(str1[:4]) 输出结果:ekds 取的下标为0-4print(str1[3:]) 输出结果:sjoplu 取的下标为3到最后的值print(str1[:-1]) 输出结果:ekdsjopl 不取结束索引值print(str1[::-1]) 输出结果:ulpojsdke 面试题:如果实现一个字符串反转或者反的排序print(str1[-3:-6:-1]) 输出结果: pojprint(str1[2:5:-1]) 输出结果:无输出,因为2-5是正向,步长-1是反向,相互矛盾
4.python中的字符串,不可变,有序===字符串一般用双引号或者单引号来表示,也可以使用三引号
str1='lsudtoqw'print(type(str1)) 输出结果:<class 'str'> ==== 字符串str1= 10print(type(str1)) 输出结果:<class 'int'> ==== 整数型
字符串常用函数:
1.capitalize()函数,实现字符串首字母大写 str1='classinG' print(str1.capitalize()) 输出结果:Classing
2.title()函数,将字符串首字母大写以及特殊字符后面的第一个字母大写str1 = "username"str2 = 'user-name' print(str1.title()) 输出结果:Usernameprint(str2.title()) 输出结果:User-Name
3.count()函数,统计字符出现的次数str1 ='aammhuujenhusskd'print(str1.count('a')) 输出结果:2次print(str1.count('huu')) 输出结果:1次 将‘huu’看做一个整体
4.join()函数,将字符串中所有的元素使用某个字符进行连接str1='luchuankai'print('*'.join(str1)) 输出结果:l*u*c*h*u*a*n*k*a*istr1 = 'wo'str2 = 'ai'str3 = 'ni'print(str1+' '+str2+' '+str3) 输出结果:wo ai ni 字符串之间可以直接进行相加,字符串和数字不能直接相加
5.split()函数,使用某个字符将字符串进行分割,返回的是一个列表str1 = 'duoceshi'print(str1.split('c')) 输出结果:['duo', 'eshi']print(type(str1.split('c'))) 输出结果:<class 'list'>str2 ='duoaceashi'print(str2.split('a')) 输出结果:['duo', 'ce', 'shi']print(str2.split('z')) 输出结果 ['duoaceashi']print(str2.split('a')[2]) 输出结果:shi
6.strip(),删除字符串开头和结尾的字符7.lstrip() 删除以什么开头的字符8.rstrip() 删除以什么结尾的字符str1 ='luchuankai'print(str1.strip('la')) 删除首尾为a或者b的字符,满足条件一直删,直到出现的不是a或者b, 输出结果:uchuankaiprint(str1.lstrip('lu')) 输出结果:chuankai 删除以a或者s开头的字符 l表示leftprint(str1.rstrip('ai')) 输出结果:luchuan 删除以b或者0结尾的字符 r表示right
9.startswith() 判断字符串以什么字符开头 返回布尔值10.endswith() 判断字符以什么结尾str1='luchuankai'print(str1.startswith('lu')) 输出结果:True 判断是否以‘ac’开头print(str1.endswith('ka')) 输出结果:False
11.find()函数,从索引0开始查找从左往右,找到第一个就停止查找,并且返回索引位。str1='luchuankai'# print(str1.find('n')) 输出结果:6# print(str1.find('h')) 输出结果:3# print(str1.find('m')) 输出结果:-1 如果查找的字符不在字符串中返回-1# print(str1.find('an')) 输出结果:5 将as看做一个整体,如果找不到也是返回-112.rfind()函数,从右往左查找字符,显示的都是正向索引# print(str1.rfind('k')) 输出结果:7 从后面往前面找,显示正向索引
13.replace()函数,替换,从左往右进行替换str1 = 'luchuankai'print(str1.replace('u','k')) #输出结果:lkchkankai 不表明替换次数,默认全部替换print(str1.replace('u','k',1)) #输出结果:lkchuankai 用k替换字符串中的u,替换一次
is判断函数,返货是布尔值str1 = 'ABCdeFg'14.print(str1.lower()) #输出结果:abcdefg 将字符全部装换为小写15.print(str1.upper()) #输出结果:ABCDEFG 将字符全部转换为大写16.print(str1.istitle()) #输出结果:False 判断首字母是否为大写,且只能首字母为大写17.print(str1.isupper()) #输出结果:False 判断所有字符是否都为大写18.print(str1.islower()) #输出结果:False 判断所有字符是否都为小写19.print(str1.isdigit()) #输出结果 False 判断字符串是否全为数字20.print(str1.isalpha()) #输出结果:True 判断字符串是否全为字母21.print(str1.isalnum()) #输出结果:True 判断字符串中是否全为数字,字母或者数字和字母组合
3.python中的列表==list
有序(可以使用索引和切片的方式或列表里面的元素),可变
序列:有序排列,像python中的元组,;列表,字符串等都是属于序列的表达方式:[ ] 定义一个空列表: list:[ ]
定义列表的一种方式:list1 = ['duoceshi',17,'dcs',33] #直接定义列表print(list1) 输出结果:['duoceshi', 17, 'dcs', 33]print(type(list1)) 输出结果:<class 'list'>print(type(list1[0])) 输出结果:<class 'str'>定义列表的第二种方式:name = int(input('输入你的内容:'))print(type(name))str1 ='duoceshi'list1 = list(str1) 通过list()函数将字符串转为列表,字符串中的每个字符都会称为列表中的独立元素print(type(str1)) 输出结果:<class 'int'>print(type(list1)) 输出结果:<class 'list'>print(list1) 输出结果:['d', 'u', 'o', 'c', 'e', 's', 'h', 'i']
列表中常用的函数:
1.索引赋值list1 = ['duoceshi',17,'dcs',33]list1[0] ='dcs17' 使用’dcs17‘替换列表中索引为0的元素print(list1)
2.切片赋值list1 = ['duoceshi',17,'dcs',33]print(type(list1[2:]))list1[1:] = ['dcs17'] 列表中的内容可以是多个元素print(list1) 输出结果:['duoceshi', 17, 'dcs17']
3.append()函数,在列表中添加一个元素,添加的内容可以是任何类型,添加到最后list1 = ['dcs',17,7]list1.append('duoceshi')print(list1) 输出结果:['dcs', 17, 7, 'duoceshi']
4.extend()函数,添加列表的内容到另外一个列表list1 =['dcs',17]list2 =['duoceshi','shanghai']list1.extend(list2) 输出结果:['dcs', 17, 'duoceshi','shanghai'] 将list2中的内容写入到list1中,list2中的内容保持不变list2.extend(list1) print(list1)
5.insert()函数,通过索引值添加元素到指定位置list1 =['dcs',17]list1.insert(1,'duoceshi')print(list1) 输出结果:['dcs', 'duoceshi', 17]
6.remove()函数,删除列表中对应的元素,只删除匹配到的第一个list1 = ['duoceshi',17,'dcs',33,'duoceshi']list1.remove('duoceshi')print(list1) 输出结果:[17, 'dcs', 33, 'duoceshi']
7.del 通过索引和切片删除对应的元素list1 = ['duoceshi',17,'dcs',33,'duoceshi']del list1[-1]print(list1) 输出结果:['duoceshi', 17, 'dcs', 33]del list1[1:3] 输出结果:['duoceshi', 33,'duoceshi']
|
|