数据结构
Python中内置的5种常用的序列结构,分别是列表、元组、集合、字典和字符串。
数据结构 | 是否可变 | 是否重复 | 是否有序 | 定义符号 |
---|---|---|---|---|
列表 | 可变 | 可重复 | 有序 | [ ] |
元组 | 不可变 | 可重复 | 有序 | ( ) |
集合 | 可变 | 不重复 | 无序 | { } |
字典 | 可变 | 可重复 | 无序 | { key:value} |
列表
列表是连续存储,存储内容的类型可非一致。
支持下标访问(支持负数下标访问)
支持序列相加
支持支持乘法
支持的方法 | 函数名或用法 | 注释 |
---|---|---|
创建列表 | mylist = [int,flaot,str,list | [ ]是列表的重要标识,元素可以为整形,浮点型,字符串、列表等多种 (mylist为申请的变量) |
删除列表 | del(mylist) | |
切片 | mylist[start: end: step] | start起始下标end终止下标setp为下标间隔 |
添加元素 | mylist.append(“追加元素”) | |
删除元素 | del(mylist[0]) | 删除列表下标为0的元素 |
删除元素 | mylist.remove(“元素内容”) | 在删除之前应判定元素是否在列表内 |
判定元素存在 | item in mylist | item为元素 |
求列表长度 | len(mylist) | |
求最大值 | max(mylist) | |
求最小值 | min(mylist) | |
计算元素出现的次数 | mylist.count(“元素内容”) | 也可用于查找元素是否在列表内 |
元素首次出现的下标 | mylist.index(“元素内容”) | 元素不存在的时候报异常 所以应先判定元素是否在列表内 |
求和 | sum(mylist(,start)) | start起始下标默认为0 |
排序 | mylist.sort(key = None,reverst = True) | key为键值默认为空,reverst参数默认为False升序,True降序 |
排序 | sorted(mylist, key = None,reverst = True) | 生成新的序列不在原序列上进行修改,需要用新列表接受返回值 |
元组
元组和列表从定义上看两种结构比较相似,他们二者之间的区别主要体现在列表是可变序列,而元组是不可变序列。
说明 | 函数名和用法 | 注释 |
---|---|---|
创建元组 | mytuple =(int,float,str,list,tuple) | ( )是元组的标识符,元素涵盖多种(在创建只有一个元素的元组时要在元素后添加逗号) |
删除元组 | del mytuple |
集合
集合的特性是元素唯一性
说明 | 函数名和用法 | 注释 |
---|---|---|
创建集合 | myset = {元素1,元素2,…元素N} | { }标识符 |
创建集合 | myset = set(迭代对象) | 推荐使用第二种,set创建的集合元素是无序的每次set的结果并不相同 |
创建空集合 | myset = set() | 创建空集合不可直接用myset = {} |
添加元素 | myset.add(元素) | |
删除元素 | myset.remove(元素) | |
删除元素 | myset.pop() | 移除最后一个元素 |
清空集合 | myset.clear() | |
交集 | myset & yourset | |
并集 | myset | yourset | |
减集 | myset - yourset |
字典
字典类似于c++中的Map,都是用key控制value的结构
字典是无序的,可变的,任意嵌套的。
字典中的key必须唯一。
字典中的key是不可变得所以可以使用数字、字符串或元组,不使用列表。
说明 | 函数和用法 | 注释 |
---|---|---|
创建字典 | mydictionary = {key1:value1,key2:value2,…} | 可创建空字典 { } |
创建字典 | mydictionary = dict(zip(list1,list2)) | dict()创建字典zip()合成对应位置合成元素 |
创建字典 | mydictionary = formkeys(list) | 生成有键值的空字典 |
Key值索引 | mydictionary[key] | 需要判断元素是否存在 |
key值索引 | mydictionary.get(key,“替代方案”) | 当Key值不存在时替代方案生效,替代方案默认为空 |
添加元素 | mydictionary[key] = value | 也可用于修改 |
删除元素 | del mydictionary[key] | 需要判断元素是否存在 |