python的数据结构
目录
列表 []
列表的定义
- 列表是由一系列按特定顺序排列的元素组成
- 在Python中,用方括号[]来表示列表,并用逗号分隔其中的元素
- 列表适合存储在程序运行期间可能变化的数据集
- 列表中的元素可以是任意类型
- 注意:我们一般用一个表示复数的名称来指定列表
操作列表
访问列表元素
- 顺序打印
- 倒序打印:lists.reverse() 从列表的最后一个元素开始倒着打印
确定列表长度
-
len(lists)
组织列表
- 使用方法sort()对列表进行永久性排序
- 使用sorted()对列表进行临时排序
修改列表元素
添加列表元素
- 一次性在列表的尾部添加多个元素:extend
- 在列表末尾添加元素:lists.append()
- 在列表中插入元素:lists.insert():
# 第一个参数:插入数据的位置 # 第二个参数:插入的数据
删除列表元素
-
使用del语句删除元素:del lists[索引]:如果你要从列表中删除一个元素,且不再以任何形式使用它,就是用del语句;
注意:使用del语句删除列表元素,必须要知道元素所在列表的位置。
-
使用方法pop()删除元素:lists.pop(索引):如果你要删除元素后还能继续使用它,就是用方法pop()
-
根据值删除元素:lists.remove(元素)
- 清空列表:lists.clear()
字典 {}
字典的定义
- 使用{}来表示字典,每一个元素都是有一个键值对(key:value)组成
- key:不能重复,只能是不可变类型的数据(字符串,数值,元祖),建议key都使用字符串。
- value:可以是任意类型的数据
- 字典定义的两种方法:
操作字典
访问字典
- 通过键去找对应的值,如果键不存在会报错(KeyError)
- get方法:如果键不存在返回的是None
- keys:获取字典中所有键,可以通过list转换为一个列表
- values:获取字典中所有的值,可以通过list转换为一个列表
- items:获取字典中的键值对,可以通过list转换为一个列表
添加键-值对
- 通过键值对赋值
- update:一次添加多个元素
修改字典中的值
直接通过键去赋值,修改这个键所对应的值
删除键-值对
- pop方法:通过键去删除对应的键值对,返回对应的value
- popitem: 删除字典中最后一个键值对
- del方法: 将相应的键值对彻底删除
元祖 ()
元祖的定义
- 不可变的列表,用圆括号()来标识元祖,并用逗号分隔其中的变量
- 元组中的数据可以是任意类型
- 元祖通常用于保证某一语句或某一用户定义的函数可以安全地采用一组数值,也就意味着元祖内的数值不会改变
- 注意点:元组没有添加数据的方法,也没有修改数据的方法,也没有删除数据的方法;元组是不可变类型的数据:定义的之后内部的数据不可以修改
关于元组是不可变的
所谓元组的不可变指的是元组所指向的内存中的内同不可变。
操作元祖
访问元祖
元组可以使用下标索引来访问元组中的值
修改元祖
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。
删除元祖
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
元组索引,截取
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素
集合 {}
集合的定义
- 集合(set)是一个无序的不重复元素序列。
- 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
集合的特性
- 集合中只能存放不可变类型的数据(可以用来区分可变类型数据和不可变类型数据)
- 集合中不能存在重复的元素(可以用来对数据进行去重处理)
- 集合中的数据是无序的
操作集合
添加元素
- 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作:s.add( x )
- 添加元素,且参数可以是列表,元组,字典等:s.update( x )
移除元素
- 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误:s.remove( x )
- 移除集合中的元素,且如果元素不存在,不会发生错误:s.discard( x )
- 随机删除集合中的一个元素:s.pop()
计算集合元素个数
len(s)
清空集合
s.clear()
判断元素是否在集合中存在
判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False:x in s
集合的运算
交集 &
并集 |
差集 -
非交集 ^
作业
第一题
现在有一个列表 clients=['IH', 26, 'residential']
第一步:请将代码将上面的列表,改写成这个样子 clients=['name', 'IH', 'id', 26, 'type', 'residential']
第二步:对列表进行升序排序
第三步:对列表进行倒序排序
第二题
有下面几个数据:
client = ('IH', 26) affiliate = ('SMS Testing', 50001) sms = ('om', 1)
请进行相关操作变为如下字典:
test = {'IH': 26, 'SMS Testing': 50001, 'om', 1}
第三题
请指出下面哪些为可变类型的数据,哪些为不可变类型的数据
第四题
请分别列出学过的字符串方法,列表方法,字典的方法,元祖的方法,集合的方法,并指出方法的作用
第五题
请获取下面数据中的token和reg_name
上一篇: pandas合并数据框
下一篇: Pandas联合与合并数据集