2022年 11月 9日

python中的容器

python中的容器

  • 容器的概念
    容器是可以存放多个元素的一种数据类型
    补充变量的无法存储大量数据的缺陷

  • python中也提供容器主要分为以下四种
    列表(list)
    集合(set)
    元祖(tuple)
    字典(dict)
    下面我们就逐个来了解我们python中的容器
    – 列表(list)
    python中是没有数组的,在python中列表这种容器是基于双向链表实现的。
    1.列表的定义
    由弱数据类型语言所决定的,直接可以将值赋给变量。
    如ls=[1,2,3,4,5]
    或者我们可以通过全局函数list[ ]来定义列表
    ls=ls([1,2,3,4,5])
    2.如何访问元素
    在这里插入图片描述
    1)通过元素的下标值来进行访问,下标是从0开始的![在这里插入图片描述](https://img-blog.csdnimg.cn/20200321151318842.png
    如上图所示,我们通过ls[]元素的下标值就可以返回一个元素,那么我们也可以通过元素的下标值来对元素进行修改
    在这里插入图片描述
    这样我们就对于下标值为4的元素进行了更改。
    3.如何求列表的长度
    使用全局函数len()可以返回容器的长度
    在这里插入图片描述

4.如何遍历容器,这里我们使用for循环进行遍历
for i in ls :
print(i)
在这里插入图片描述

-列表中常用的方法
append() # 向列表尾部追加元素
在这里插入图片描述
insert() # 向指定的位置追加元素
在这里插入图片描述
sort() # 排序(一般用来排序数字,字母也可以排序)
在这里插入图片描述
index() # 查找元素第一次在列表中出现的位置,如果没有这个元素,则抛出异常

在这里插入图片描述
reverse() # 将列表元素顺序翻转
在这里插入图片描述
remove() # 通过元素来移除元素,注意,如果元素不存在,则抛出异常
在这里插入图片描述
count() # 统计元素出现的个数
在这里插入图片描述
clear() # 清除元素
在这里插入图片描述
copy() # 浅拷贝对象,是在堆内存中进行对象拷贝的
在这里插入图片描述

extend # 合并列表
在这里插入图片描述
pop() # 删除最后元素,并返回这个元素
在这里插入图片描述

– 集合(set)
1.集合的概念
数学中常见的一个集合
2.如何定义集合
1)使用全局函数set来创建一个集合
s=set()
2)s = set({1,3,4,5})
3)s = {} 这里要注意, 如果使用空的{}来创建一个对象,该对象是字典,并不是集合!!!!
4)s = {元素} {}至少要有一个元素,此时才是集合
3.集合的底层基于hash表实现的不能重复的,也就意味着集合中的元素都是唯一的。并且,集合内的元素是无序的,意味着没有办法通过下标值访问其中的元素。
4.集合的常见方法
clear 清除集合
remove 通过元素来移除元素,注意,如果元素不存在,则抛出异常
copy 拷贝元素
add 增加元素
difference 差集
在这里插入图片描述
intersection 交集
在这里插入图片描述
union 并集
在这里插入图片描述
update 更新集合,合并集合
在这里插入图片描述
discard 移除元素,但是如果不存在,则不做任何操作
在这里插入图片描述

– 元组(tuple)
1.元组的概念
Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
2.元组的定义
使用全局函数进行定义t=tuple()
或者通过若数据类型进行定义t=(1,2,3,4,5,6)
3.如何访问元素
和列表一样,可以通过元素的下标访问元素
4.元组的特点
元组是一个不可变了类型,元组的元素一旦定义下来,则无法改变,虽然元组不可变,如果元组内部元素是可变类型,那么该元组就可变!!
常用方法
index 查找元素第一次在元组中出现的位置
count 统计元素出现的个数

– 字典(dict)
1.字典的概念
字典是另一种可变容器模型,且可存储任意类型对象。
2.字典的定义
d = {“name”: “liujianhong”, “age”: 16, “gender”: “男”}
或者通过全局函数进行定义d=dict()
3.如何访问元素
通过key来访问对应的值,字典对象[key] # 返回key对应的值,如果没有,抛出异常
字典对象[key] = 新值 # 更改key对应的值
字典对象[新key] = 新值 # 增加新的键值对
4.字典的常见方法
clear # 清除元素
copy # 拷贝元素
get # 和字典对象[key]类似,获取键对应值,注意,如果没有该键,返回None
keys # 返回所有的键
在这里插入图片描述
values # 返回所有的值
在这里插入图片描述
setdefault # 设置默认值
items # 返回一个键值对
在这里插入图片描述
pop(key) # 通过key删除键值对
在这里插入图片描述
popitem # 移除一个键值对,移除的规则是LIFO(last in first out)
在这里插入图片描述
LIFO:后进先出 栈
FIFO:先进先出 队列

字典的三种遍历方是:
for k in d.keys():
print(k, d.get(k))
for k in d:
print(k, d[k])
for k,v in d.items():
print(k, v)