方法及原理实现
可变数据类型
可变数据类型 :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型
不可变数据类型
不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型
可变数据类型
可变数据类型有:列表,集合,字典
列表
列表:列表是一种序列,也是python中经常使用的数据类型,列表中的元素可以是不同数据类型。对于列表的常见操作有索引、切片,检查成员等
常用方法:
insert方法 作用:在指定下标前进行添加
append方法 作用:在列表的尾部进行添加
extend方法 作用:将内容逐一添加到列表里
del方法 作用:删除列表中的指定数据(根据元素的下标进行删除)
pop方法 作用:删除指定下标元素(默认是最后一个元素)
remove方法 作用:根据元素的值进行删除
clear方法 作用:清空列表,但是列表容器还在只是里边的数据不在了 -- 相当于清空和你好友的聊天记录
reverse方法 作用:将列表中中的数据进行反转 相当于[::-1]的操作 -- 倒序 逆序 反序
代码实现
集合
集合:由不同元素组成的集合,集合是一组无序排列 可hash值,可作为字典的 key
常用方法
add()方法 作用:向集合中添加元素
update()方法 作用:将内容逐一添加到集合里
remove()方法 作用:根据元素的值进行删除,如果该元素存在则删除不存在则报错
discard()方法 作用:根据元素的值进行删除,如果该元素存在则直接删除, 如果该元素不存在则不做任何操作
pop()方法 作用:随机删除集合中的元素
In 作用:判断数据在集合里,如果在返回True 否则返回False
not in 作用:判断数据不在集合里,如果不在返回True,否则返回False
代码实现
字典
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希 函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的。但是在3.6版本后,字典开 始是有序的,这是新的版本特征。字典的key值可以是整型,字符串,元组,但是不可以是列表,集 合,字典。虽然字典数据发生改变,但是内存地址没有发生了改变,那么字典就是可变数据类型。
2、字典的常用方法
字典的修改方法
语法:字典[key] = 值
字典的添加方法
语法:字典[key] = 值
字典的遍历
1 遍历字典的键 语法:for key in 字典.keys():
2 遍历字典的值 语法:for value in 字典.values():
3 遍历字典键值对 语法:for key,value in 字典.items():
代码实现:
不可变数据类型
不可变数据类型有:整性,字符串,元组
整形
整形:通常被称为是整型或整数,是正或负整数,不带小数点int
字符串
字符串:字符串是python当中最常用的数据类型,我们用它来处理文本内容,字符串是字符的有序集合,可以使用一对单引号或一对双引号,或者3对双引号来创建,python字符串的索引有正向索引和反向索引之分,通过索引你可以随机访问字符串,string
代码实现:
常用方法
元组
元祖:元组是一个与列表类似的集合,不过由于元组是不可改变的,所以不能对元组完成排序,也不能追加和删除元素。 一旦用一组元素创建一个元组,它就会一直保持不变
元组被称为只读列表,即数据可以被查询,但不能被修改,但是我们可以在元组的元素中存放一个列表, 通过更改列表的值来查看元组是属于可变还是不可变。我们可以发现,虽然元组数据发生改变,但是内 存地址没有发生了改变,但是我们不可以以此来判定元组就是可变数据类型。我们回头仔细想想元组的 定义就是不可变的。我们修改了元组中列表的值,但是因为列表是可变数据类型,所以虽然在列表中更 改了值,但是列表的地址没有改变,列表在元组中的地址的值没有改变,所以也就意味着元组没有发生 变化。我们就可以认为元组是不可变数据类型,因为元组是不可变的
常用方法:
按下标查找数据 语法:元组名 = [下标、索引]
index方法 作用:查找指定字符下标
count方法 作用:统计指定字符出现的次数
len方法 作用:元组长度,也就是元组中元素的个数
代码实现:
集合我们常用来进行去重和关系运算,集合是无序的。虽然集合数据发生改变,但是内存地址没有发生 了改变,那么集合就是可变数据类型。