数据的类型以及内置方法
数据的类型可以分为
int 整数型
str 字符串
float浮点型
list列表
dict字典
bool 布尔值
set集合
tuple元组
其中 可变类型有:列表 字典 集合
不可变类型 :字符串 整型 元组
什么是可变类型?
可变类型: 值改变 但是id不变
不可变类型:值改变 id改变
上一篇博客呢 写了 整型 字符串 和 一点点的列表的内置方法,今天呢继续说列表
列表呢是一个可变类型 也就是说他的值改变 id不会改变 为什么呢 看我这图就知道了
什么意思呢 就是说一个变量他绑定的是一个列表 而这个列表他是一个地址 地址里有很多索引 而这个索引他绑定的又是其他地址了 所以说你添加或者删除呢只会改变
索引绑定的那个地址 而不会改变列表的地址 好比就说这个 元组 大家都知道元组不可变类型 但是这样却可以
为什么呢?看图 因为他改变的是列表的值对吧 而列表呢是可变类型
好 现在我们继续开始学习昨天列表还剩下的内容!列表的内置方法 我们还需要掌握几个 我会一一给大家演示这次
.clear() 清除列表中的所有元素 因为res为空列表 返回None
.count() 返回的值是()里的数字在列表中存在的个数
.reverse() # 将列表反转
.sort() .sort(reverse=True)
# 队列 先进先出 l1 = [] # 先进 l1.append('first') l1.append('second') l1.append('third') # # 先出 print(l1.pop(0)) print(l1.pop(0)) print(l1.pop(0)) # 堆栈 先进后出 # 先进 l1.append('first') l1.append('second') l1.append('third') # 后出 print(l1.pop()) print(l1.pop()) print(l1.pop())
元组:
元组的定义 ()内用逗号隔开 可以存多个值 任何类型的值,但是唯一和字典 列表不同的是它的值不能修改
age=(11,22,33,44,55) #本质 age=tuple((11,22,33,44,55))
()里必须传容器类型
*在定义容器类型的时候,哪怕内部只有一个元素,你也要用逗号隔开 区分一下
按索引取值(正向取+反向取):只能取
切片(顾头不顾尾,步长) print(t[::2]) 长度 print(len(t)) 成员运算in和not in print('a' in t) 循环 for i in t: print(i)
字典的内置方法
能存存储多组 key:value键值对 key是对value的描述 key通常情况下都是字符串
其实这个key只能是不可变类型,value可以是任意数据类型
强调:字典的key是不能重复的 要唯一标识一条数据
如果重复了 只会按照最后一组重复的键值对存储
按key存取值:可存可取 假如添加的存在 那么 覆盖他的值 假如不存在 直接添加到字典
赋值语句当key不存在的情况下,会自动新增一个键值对
长度len 统计的键值对的个数
成员运算in和not in 对于字典来说只能判断key值
删除 三种删除方式 del 字典['key'] 字典.pop('key') 字典.clear('key')
s
定义字典的三种方式 (****)
键keys(),值values(),键值对items()
get()根据key获取value(*******************************)
快速的创建一个字典 dict.fromkeys()
dict.popitem()
.setdefault()
.update()
集合 set 关系运算.去重
定义:
集合:可以包含多个元素,用逗号分割
s = {1,2,3,4,5,6}
s1 = set() 注意在定义空集合的只能用关键字set
如果你仅仅只写了一个大括号 那么python默认将它当做字典类型
集合的元素遵循三个原则: 1:每个元素必须是不可变类型 可变:不可hash 不可变:可hash s = {1,2,3,4,5,6,'a',(1,2),[1,2]} # 报错 s = {1,2,3,4,5,6,'a',(1,2),{"name":'jason'}} # 报错 2: 没有重复的元素 s = {1,2,2,2,2,2,2,2,2,2,3,4,4,4,4,4,5} print(s) # 自动将重复的元素 去除 3:无序 s = {1, 2, 3, 4, 5, 6} print(s[1])
注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
优先掌握的操作: 1、长度len s = {1,2,3,4} print(len(s)) 2、成员运算in和not in 3、|合集 4、&交集 5、-差集 6、^对称差集 7、== s = {1,2,3} s1 = {3,1,2} 8、父集:>,>= s = {1,2,3,4,55} s2 = {1,2,666} pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'} linux = {'frank', 'jerry', 'tank', 'egon', 'alex'} # 既报名python也报名linux的学生姓名 print(pythons & linux) # 交集 # 只报名python的学生姓名 print(pythons - linux) # 只报名linux的学生姓名 print(linux - pythons) # 没有同时报名两门课程的学生姓名 print(pythons ^ linux) # 对称差集 # 取出所有报了名的学生姓名 print(pythons | linux)
.add
有补充的我会补充
趁自己还没死 多折腾折腾