请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
  • 便民服务
  • 关注我们
  • 社区新手

python之索引和切片,字符串函数,列表函数

[复制链接]
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']              


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册