找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

一,索引和切片
python中的索引:
索引分为正向索引和反向索引,正向索引从0开始,反向索引从-1开始
在序列中使用索引取值的时候,使用的是中括号
str1='osdfoas'
str1='osdfoas'
print(str1[3])      #输出结果f
print(str1[5])      #输出结果a   正向索引
print(str1[-2])     #输出结果a   反向索引

python中的切片:[start_index:end_index:step]
切片取值时,不包含结束索引
step步长,不能为0,默认为1(默认为1时可以不用写)如果步长为-1,就是反向取值
切片时,取的值里面含有开始下标和结束下标,可以不用表达出来
[:4]  表示取值范围从开始下标到下标位为4的所有值
[2:]  表示取值范围从下标位为2到结束下标的所有值
[:]   表示取值范围为从开始下标到结束下标的所有值,
str1='osdfoas'
print(str1[3:5:1])    #输出结果:fo
print(str1[1:5])      #输出结果:sdfo
print(str1[::2])      #输出结果:odos,取值范围为所有时,可以不用写起始下标,步长为2
print(str1[:4])       #输出结果:osdf  取的下标为0-4
print(str1[3:])       #输出结果:foas  取的下标为3到最后的值
print(str1[:-1])      #输出结果:osdfoa  不取结束索引值
print(str1[::-1])     #输出结果:saofdso 面试题:如果实现一个字符串反转或者反的排序
print(str1[-2:-5:-1])  #输出结果: aof
print(str1[2:5:-1])     #输出结果:无输出,因为2-5是正向,步长-1是反向,相互矛盾

2.python中的字符串,不可变,有序
(字符串一般使用单引号和双引号来表示,也可以使用三引号)
str1='lsudtoqw'
print(type(str1))    #输出结果:<class 'str'>

字符串常用函数
1.capitalize()函数,实现字符串首字母大写
print(str1.capitalize())  #输出结果:Lsudtoqw

2.title()函数,将字符串首字母大写以及特殊字符后面的第一个字母大写
str2 = "user_name"
str3 = 'user**name'
print(str2.title())   #输出结果:User_Name
# print(str3.title())   #输出结果:User**Na_Me

3.count()函数,统计字符出现的次数
str1  ='auoetuaohdoaowe'
print(str1.count('a'))   #输出结果:3
print(str1.count('ao'))  #输出结果:2  将‘ao’看做一个整体

4.join()函数,将字符串中所有的元素使用某个字符进行连接
str1='duoceshi'
print('*'.join(str1))  #输出结果:d*u*o*c*e*s*h*i
str1 = 'hello'
str2 = 'dcs'
print(str1+' '+str2)  #输出结果:hello dcs   字符串之间可以直接进行相加,字符串和数字不能直接相加


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('o')[0])  #输出结果:du


6.strip(),删除字符串开头和结尾的字符
lstrip()  删除以什么开头的字符
rstrip()  删除以什么结尾的字符
str1  ='aasdofaboab'
print(str1.strip('ab'))   #删除首尾为a或者b的字符,满足条件一直删,直到出现的不是a或者b, 输出结果:sdofabo
print(str1.lstrip('as'))  #输出结果:dofaboab    删除以a或者s开头的字符  l表示left
print(str1.rstrip('bo'))  #输出结果:aasdofaboa  删除以b或者0结尾的字符  r表示right

7.startswith() 判断字符串以什么字符开头  返回布尔值
endswith() 判断字符以什么结尾
str1='abcdefg'
print(str1.startswith('ac'))  #输出结果:False  判断是否以‘ac’开头
print(str1.endswith('fg'))    #输出结果:True

8.find()函数,从索引0开始查找从左往右,找到第一个就停止查找,并且返回索引位。
str1='aasdofac'
print(str1.find('d'))   #输出结果:2
print(str1.find('a'))   #输出结果:0
print(str1.find('z'))   #输出结果:-1   #如果查找的字符不在字符串中返回-1
print(str1.find('as'))  #输出结果:1,将as看做一个整体,如果找不到也是返回-1
rfind()函数,从右往左查找字符,显示的都是正向索引
print(str1.rfind('a'))   #输出结果:6   从后面往前面找,显示正向索引

9.replace()函数,替换,从左往右进行替换
str1 = 'duoceshiduo'
print(str1.replace('d','c'))  #输出结果:cuoceshicuo  不表明替换次数,默认全部替换
print(str1.replace('d','c',1))  #输出结果:cuoceshiduo  用c替换字符串中的d,替换一次
print(str1)

10.is判断函数,返货是布尔值
str1 = 'ABCdeFg'
print(str1.lower())    #输出结果:abcdefg   将字符全部装换为小写
print(str1.upper())    #输出结果:ABCDEFG   将字符全部转换为大写
print(str1.istitle())  #输出结果:False    判断首字母是否为大写,且只能首字母为大写
print(str1.isupper())  #输出结果:False    判断所有字符是否都为大写
print(str1.islower())  #输出结果:False    判断所有字符是否都为小写
print(str1.isdigit())  #输出结果 False     判断字符串是否全为数字
print(str1.isalpha())  #输出结果:True     判断字符串是否全为字母
print(str1.isalnum())  #输出结果:True     判断字符串中是否全为数字,字母或者数字和字母组合

二、.python中的列表,list。

有序(可以使用索引和切片的方式或许列表里面的元素),可变
序列:有序排列,像python中的元组,列表,字符串等都是属于序列
列表的表达方式:[]    定义一个空列表:list1 =[]

定义列表的一种方式:
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[2:] = ['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)     #将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]   #也可以通过切片的方式删除元素

8.index()函数,通过元素查找对应的索引值,如果列表有多个相同的元素,只显示第一个元素的索引
list1 = ['duoceshi',17,'dcs',33,'duoceshi']
aa = list1.index('duoceshi')
print(aa)    #输出结果:0

9.sort()函数,从小到大进行排序,如果同时含有字符串和整数型,会报错;如果全部是字符串则使用ascii码进行排序
list1=[5,8,3,12]
list1.sort()
print(list1)    #输出结果:[3, 6, 8, 12]

sorted()函数,从大到小,降序排列
list1=['dcs','a','3','12']
print(sorted(list1,reverse=False))  输出结果:  ['12', '3', 'a', 'dcs']
list2=[9,2,5,7,6,4]
print(sorted(list2)      输出结果:[2, 4, 5, 6, 7, 9]

10.reverse()函数,反转(面试经常问)
list1=['dcs','a','3','12']
print(list1[::-1])      #反转第一种方式

list1.reverse()         #反转第二种方式
print(list1)

11.pop()函数,默认删除最后一个,也可以通过索引删除指定元素。并且返回删除的内容
list1=['dcs','a','3','12']
print(list1.pop(1))     #输出结果:a
print(list1)            #输出结果:['dcs', '3', '12']




分享至 : QQ空间
收藏

0 个回复

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