Python有四种内置的数据结构:分别是list(列表)、tuple(元组)、set(集合)、dictionary(字典)
1.list(列表):表示一组有序数据的组合就是列表
声明:列表变量 = [ 值,值1,值2.....]
特征:1.列表是序列的一种,并且是有序的序列,可以使用有序序列访问方式
2.列表是可以修改的序列
3.列表并不限制数据类型,列表中的数据可以是任意一种类型的数据
列表的基本序列操作:
1.索引操作:列表变量[索引]:it's used for get the value adopt its index
2.分片操作:列表变量[开始索引:结束索引:跳步值]:表示获取列表中根据跳步值从开始索引到结束索引之间所有的数据,若无跳步值,则默认为1.且获取的数据不包括两个索引位置的数据
3.相加操作:列表 = 列表1 + 列表2
4.相乘操作:列表 = 列表1 * n(int变量 ) 将列表1重复n次组成一个新的列表
5.成员检测:数据 in 列表变量 :检测某个数据是否在当前列表中,并返回一个布尔值
列表的序列函数:len():获取列表的长度;max():获取最大值; min():获取最小值;list():将其他类型的变量转化为列表
列表的方法:列表变量值.append() 在列表的最后追加新数据;
insert()在列表指定的位置插入数据;
pop()在列表中移除一个元素;
remove(值)在列表中移除指定的值的元素;clear()清空列表;reverse()列表反转;
extend()在原有类标的最后追加新的序列:列表.extend(序列类型);
count(值)计算指定值在列表中出现的次数;copy()复制原有列表
2.tuple(元组):元组可以看做一种特殊的列表,元组也是一组有序的数据列表,只是元组中的数据不能进行修改
创建空元组:变量 = (值,值1,值2....) or 变量 = 值,值1,值2....
元组的特征
1.元组具有序列特定,并且是有序序列
2.元组的数据可以访问但不可修改
3.元组的数据可以是任意数据类型
元组的基本序列操作跟列表大致形同:索引、分片、序列相加、序列相乘、成员资格
元组的函数:len()获取长度;max()求最大值;min()求最小值;tuple()将其他序列转化为元组类型
元组的方法:count(值)计算指定的数据在元祖中出现的次数;index(值)获取指定值在元组中的索引位置
元组的变量交换:
a = 值1
b = 值2
a,b = b,a
3.set(集合):集合是确定的一堆无序数据,集合中的每个数据称为一个数据
创建集合:变量 = set{值, 值1, 值2 ...}
注意:集合的数据时内部元素绝对唯一的,所以当集合中出现多个相同的数据时,只会取一个
集合的特征:
1. 集合是一种无序的数据类型,无法进行索引和分片操作
2.集合是内部元素绝对唯一的数据
3.集合是有元素类型限制的:str,int,float,bool,tuple,冰冻集合
集合的序列操作:成员检测操作 : 数据 in 集合变量 :检测数据是否在集合中
数据 not in 集合变量:检测数据是否不在集合中,都返回布尔值
集合函数:len():获取集合中元素的个数,其他的与上相同
集合函数:add(数据)向集合中添加数据,数据添加的位置随机,重复的数据不能添加;
clear()清空集合;copy()集合复制;remove(值)移除指定的值;
discard()移除集合中指定的值(与remove不同的是,当需要移除的值在集合中不存在时,remove会报错,而discard会选择不进行操作);
pop()随机移除一个元素;
intersection()计算两个集合之间的交集:集合.intersection(集合1);
difference()计算两个集合之间的差集:集合.difference(集合1);
union()计算两个集合之间的并集;issubset()检测一个集合是否是另一个集合的子集,返回一个布尔值;
difference_update() 计算集合1和集合2的差集并且将结果赋值给集合1:集合1.difference_update(集合2);
intersection_update() 计算集合1和集合2的交集并且将结果赋值给集合1:集合1.intersection_update(集合2);
update() 计算集合1和集合2的并集并且将并集结果赋值给集合1
冰冻集合/固定集合 frozenset
创建:变量 = frozenset(值....)
冰冻集合的操作相关函数和方法同集合类型一样。只是不可以使用修改集合相关的方法和函数。
4.dictionary(字典):字典也是一种组合数据,没有顺序的组合数据。数据以键值对的方式存在。
创建:变量 = {键:值,键:值......}
字典的特征
1.字典也是序列类型但是是无序序列,所以分片操作无法使用
2.字典中每个数据都由键和值两部分组成:(字典中任何数据都可以作为值,但是只有部分类型的变量来作为键:int,float,str,tuple,冰冻集合)
字典的基本操作:
1.访问数据:字典变量[键]
2.添加数据:字典变量[新键] = 值
3.修改数据:字典变量[键] = 新值
4.删除数据:del字典变量[键]
字典函数:字典的函数与list的函数相同
字典方法:
items()获取字典的键值对组成的元组格式,返回:将键值对变成元组的列表形式
keys() 获取字典中所有键组成的序列
values() 获取字典中所有值组成的序列
get(键)根据指定的键获取值,如果键不存在于字典中,则会返回默认值而不会报错
pop()根据键从字典中删除对应的值
update() 使用字典更新另外一个字典