Python的容器解析

Python的容器解析

什么是容器?
容器 存储大量数据的一种数据类型。
容器是一种可以包含其他类型对象(如列表、元组、字典等)作为元素的对象。”
在python中容器有很多,今天我们主要学习其中我们最常用的四种:
• 列表(list)
• 集合(set)
• 元组(tuple)
• 字典(dict)
一. 列表(list)
Python提供的列表这种容器,是一种线性结构的存储空间。
数组:内存中一块连续的内存空间
优点:查询速度,通过索引迅速检索对应的值
缺点:增删改的效率较低
链表:不是连续内存
优点:增删改的效率相对于数组较高
缺点:查询速度慢
Python中的列表容器就是基于双向链表结构设计的
1.如何使用列表/定义列表:
Python的容器解析
2.如何访问列表中的元素?
通过下标,下标从0开始。
注意:如果下标越界了会报错
Python的容器解析

列表的定义
弱数据类型语言的特点:

Is=[]

Is2=list()

Is3=list([1,2,3,4,5,6,7])#list3=[1,2,3,4,5,6]
访问list的元素(element)
遍历
3.遍历元素
for 变量 in 容器:
变量代码中的一个确定的元素
Python的容器解析

常见的线性表:栈(stack)、队列(queue)、数组(array)、链表(List)
通过下标访问,注意:从0开始
Is3[4]
也可以通过下标修改元素的值
Is3[2] = 100#修改元素的值
如何遍历list:
For i in list:
List的常见方法:
[‘append’, ‘clear’, ‘copy’, ‘count’, ‘extend’, ‘index’, ‘insert’, ‘pop’,
‘remove’, ‘reverse’, ‘sort’]

Python的容器解析

二. 集合(set)
也是python提供的一种容器,特点就是:无序、元素不能重复

怎么定义set集合
S={元素1,元素2}
S=set()
S=set({元素1,元素2…})
S= set([元素1,元素2…]) #将list转换为set对象
Is=list({元素1,元素2…}) #将set转换为list对象

通过官方提供的方法来操作
[‘add’, ‘clear’, ‘copy’, ‘difference’, ‘difference_update’, ‘discard’,
‘intersection’, ‘intersection_update’, ‘isdisjoint’, ‘issubset’,
‘issuperset’, ‘pop’, ‘remove’, ‘symmetric_difference’,
‘symmetric_difference_update’, ‘union’, ‘update’]

Python的容器解析

三. 元组(tuple)
元组是一种不可变的数据类型。
元组中的元素不允许被修改和改变。

元组的定义:
t=() #定义元组,但是不推荐这么使因为元组不可变
t=(“春”,“夏”,“秋”,“冬”) #建议定义时初始化值
t=tuple(()) #将列表转化为元组
注意:三种容器都可以使用对应的函数完成转换
常见方法:
|–count #统计元素个数
|–index #查询元素所在的索引
Python的容器解析

四. 字典(dict):
Dictionary,是一种使用key-value键值对的结构存储数据的
Python中key不能重复,否则会覆盖数据
Key的类型只能是字符串,value类型任意
如何访问字典值:
使用字典中的key获取key对应的值
d[“name”]#获取name对应的值,如果该key不存在,则抛出异常
d.get(“age”) #也可以使用get方法,如果key不存在,则返回None
字典的常用方法:
‘clear’, ‘copy’, ‘fromkeys’, ‘get’, ‘items’, ‘keys’,
‘pop’, ‘popitem’, ‘setdefault’, ‘update’, ‘values’]

Python的容器解析