一、初识序列类型方法
序列类型的概念:数据的集合,在序列类型里面可以存放任意的数据,也可以对数据进行更方便的操作,这个操作是叫增删改查(crud) ( 增加(Creat),读取查询(Retrieve),更新(Update),删除(Delete) 几个单词的首字母简写)
增删改查是操作数据最底层的操作:从本质出发,我们对数据所有的行为归根到底就是增删改查四个字
增加新的数据
修改原有数据
查看指定数据
删除指定数据
因为我们在操作序列类型的数据的时候,会经常用到增删改查的操作,所以python给我们提供了一些的内置的功能函数,作用就是帮助我们更好的对数据增删改查
方法都是固定的语法,不需要要去死记硬背
pycharm有补全代码的功能,如果忘了,翻笔记/百度
二、列表方法-list
food = ['麻辣烫','螺蛳粉','火锅','泡菜']
1、增
1.append:追加一个数据,添加一个数据到列表的最后一位
列表.append(内容)
food.append('奶茶')
food.append(['蜜雪冰城',5]) #整个序列类型追加进去
print(food)
2.insert:在指定的位置上添加一个数据,原数据会被挤到后面(插队)
列表.insert(下标,内容)
food.insert(0,'咖啡')
food.insert(3,'幽兰拿铁')
print(food)
3.extend:追加一个序列类型的数据到最后一位
列表.extend(序列内容)
[1]追加单个字符串,是把字符串拆分追加(不能追加单个数字)
food.extend('冰激凌')
print(food)
[2]追加一个序列类型,把值分别追加进去
food.extend(['绿豆雪糕',13]) #把序列类型的值分别追加进去
print(food)
2、删
1.pop:在有指定下标后删除一个值 没有指定的下标时 会默认删除最后一个数据
列表.pop() # 默认删最后一位
food.pop()
print(food)
列表.pop(下标) # 删除指定下标的数据
food.pop(0)
print(food)
2.remove:删除一个指定的数据 如果有重复的数据 从第一个开始删
列表.remove(数据)
food.remove('螺蛳粉')
print(food)
3.clear:清空列表里的所有数据
列表.clear()
food.clear()
print(food)
4.del 删除数据,也可以直接删除这个变量
1.删除整个变量
del 变量名
del food
2.删除变量里的值
del 列表[下标]
del food[1] #删除food里下标为1的数据
print(food)
3、改
1.修改单个值:通过索引直接修改
列表[下标] = 值
food[0]='水果'
print(food)
2.修改多个值:通过切片来修改
列表[起点:终点] = 数据1,数据2,数据3
food[1:4]='草莓','葡萄','芒果','榴莲'
print(food)
4、查
所有的查询方法,里面的内容是显示出来看的,而不是修改的,所以都要用print包裹方法输出
number=[1,2,5,3,4,68,4,2,6,2,1,1]
1.index:根据内容,获取指定数据的下标
列表.index(数据) # 默认从下标为0的位置开始搜索
print(number.index(68))
列表.index(数据,起点下标) # 从起点下标开始找数据
print(number.index(1,3)) #从设置的起点下标3这个位置找第一个数据1
2.count:求和,统计数据出现的次数
列表.count(数据)
print(number.count(1))
5、其他
num = [6.66,520,70,123,888,False,9]
sort:对列表的内容进行排序,如果列表里面有字符串是不可以排序
列表.sort() # 默认是升序排序,从小到大
num.sort()
print(num)
列表.sort(reverse = True) # 降序排序.从大到小
num.sort(reverse=True)
print(num)
三、元组方法-tuple
元组不可以修改,所以没有增删改的操作
1、查
demo=(30,34,24,520,True,520,'好好学习')
1.index:根据内容,获取指定数据的下标
元组.index(数据) # 默认从下标为0的位置开始搜索
print(demo.index(520))
元组.index(数据,起点下标) # 从起点下标开始找数据
print(demo.index(520,5))
2.count:求和,统计数据出现的次数
元组.count(数据)
print(demo.count(520))
四、字符串方法-str
字符串和元组一样,是不可变的类型,里面数据是不可以改变的,除非重新赋值,否则里面的数据是改变不了的(所有的字符串的方法操作都是要用print包裹方法输出)
字符串本体是不变的 但是可以通过方法给你看修改结果
1、增
字符串严格来说没有专门得到增加方法 直接用+拼接即可
字符串+字符串
talk = '我爱学python,每天都要学习'
print(talk + '所以你今天学了吗')
join:指定字符串连接序列中元素后生成一个新的字符串
print('*'.join('我喜欢你'))
s='--'
name='伊尔'
print(s.join(name))
li=['aa','bb','cc']
print('..'.join(li))
2、删
talk1='你这傻逼玩的这么傻逼的操作还来玩游戏'
replace:可以删除/可以替换
字符串.replace('要删除的值','')
print(talk1.replace('傻逼',''))
字符串.replace('要修改的值','新的值')
print(talk1.replace('傻逼','**'))
字符串.replace(要修改的值,新的值,修改的次数)
print(talk1.replace('傻逼','小可爱',1))
3、改
name='Hello World hello world 伊尔'
upper:字符串里的字母全部大写
字符串.upper()
print(name.upper())
lower:字符串里的字母,全部小写
字符串.lower()
print(name.lower())
title:字符串里的单词首字母改为大写,以空格符号为标准
字符串.title()
print(name.title())
strip:去除字符串左右两边的空格
字符串.strip()
print(name.strip())
split:切分.根据指定的内容,切分字符串
字符串.split('分割对象')
print(name.split('o'))
4、查
find:通过内容获取数据的下标
字符串名.find(内容)
print(name.find('o'))
字符串名.find(内容,下标)
print(name.find('l',7))
count:求和,统计数据出现的次数
字符串.count('数据')
print(name.count('o'))
isdigit:判断字符串里是否为纯数字,结果为布尔值
字符串.isdigit()
a='520'
aa='520美女'
print(a.isdigit())
print(aa.isdigit())
isalpha:判断字符串是否为纯中文/字母
字符串.isalpha()
b='yn伊尔'
bb='yn伊尔12'
bbb='yn伊尔#$%'
print(b.isalpha())
print(bb.isalpha())
print(bbb.isalpha())
endswith:判断字符串的后缀,是否为指定字符,结果为布尔
字符串.endswith('数据')
c='大家很帅'
print(c.endswith('很帅'))
print(c.endswith('很棒'))
五、练习
1.序列类型方法的本质,是帮助我们更好的实现____操作
2.现有列表如下
li = [555,233,"祝大家假期快乐",True]
把它修改为['伊尔',"祝大家学习加油",True,666]
3.现有元组如下,在该元组中,70这个值,出现过几次?
tu1 = (233,70,70,70,'70',False,"好好学习",70,"天天向上",70)
4.现有几串字符串如下,通过字符串方法完成对应操作
"7070770" 1.判断是否是纯数字 2.获取里面一共有几个'7'
"APPle" 1.请把它改为全大写输出 2.请把它改为全小写输出
5.有一字符串 talk1 = "大家很帅",把它改为"大家很棒"输出
6.有一字符串talk2 = "祝大家生日快乐" 把"生日" 改为"新年"输出