- 容器:
顾名思义,容器可以容纳很多东西,是可以存放多种元素的一种数据结构,容器中的元素均可以通过逐个迭代的方式获取,可以通过in,not in关键字来判断某个元素是否包含在某个容器中,容器的存在补充了变量的无法存储大量数据的缺陷
元素:容器中每一个数据、字符串等为一个元素
以下介绍python中四种常用的容器:
- list() ----列表
1. 列表的定义:
List是用[ ]括起来的数组元素,可以包含不同的数据类型,是一种数组形式的数据结构,但是它可以放置不同类型的基础数据类型,但一般数据类型是相同的
定义方式:
* 由弱数据类型语言决定,直接将值赋给变量
如: ls = [2, 3, 4, 5, 56]
* 全局函数list
如 : ls = list([1,2,3,4,5,5])
2. 访问列表中的元素:
- 使用下标来访问,注意下标是从0开始
ls = [2,3,4,5,6]
ls[2]
4
- 也可以通过下标来修改元素值
ls[2] = 65
ls
[2, 3, 65, 5, 6]
3. 遍历列表
- 使用while循环遍历:
- 使用for循环遍历:
4. 求列表的长度:
全局函数 len(容器) # 返回容器的长度
len(ls)
5
5. list容器常用方法:
dir(list)
- append #向列表尾部追加元素
- insert #向列表中指定位置插入元素
- clear #清除列表中的元素(慎用)
- copy #浅拷贝对象,是在堆内存中进行对象拷贝的
- count #统计某个元素的个数:
- extend #合并列表
- index #查找某元素第一次在列表中出现的位置,如果没有这个元素,则抛出异常
注意:元素在表中的位置为下标,从0开始
- pop #删除最后一个元素并返回该元素
- remove #移除某个元素,若元素不存在则抛出错误
- sort #对元素进行排序,注意一般对列表元素为数字的进行排序,若元素即包含字符串类型又包含int类型会抛出错误:
- reverse #将列表元素顺序翻转
set() ----集合
1. 集合特点:
- 不能重复的,也就意味着集合中的元素都是唯一的 //集合可以去重
- 无序—没有下标
2. 创建一个集合: - s = {元素} # {}至少要有一个元素,此时才是集合
- s = set() # 使用全局函数set来创建一个集合
- 注意: s = {} # 如果使用空的{}来创建一个对象,该对象是字典,并不是集合
3. 集合的遍历: - 使用for循环进行遍历:
- 使用while循环进行遍历
- 集合的常用方法:
add # 增加元素(无序的)
- difference # 差集
- intersection # 交集
- union # 并集
- update # 更新集合,合并集合
- discard # 移除元素,但是如果不存在,则不做任何操作
- remove #通过元素本身将元素移除列表,如果不存在会抛出错误
- copy # 复制、拷贝对象
- clear #清除元素
- tuple() ----元组
1. 元组的定义:
- 通过弱数据类型
t = (元素…)
- 通过tuple全局函数
tt = tuple()
tt = tuple((元素…))
注意:若想要定义只有一个元素的元组,必须在元素后面加上逗号,否则类型为整型
2.元组的特点:
- 元组是有序的,可以通过下标访问元组中的元素:
也可以通过元素本身来定位 - 元组是一个不可变了类型,元组的元素一旦定义下来,则无法改变
注意:元组不可变,但是若元组内部元素是可变类型,那么该元组就可变
3.元组的常用方法: - count #统计某元素个数
- index #查找元素在列表中的位置
注意:如果元素不存在,则抛出异常,如果该元素存在多个,则返回第一个
- dict() ----字典
1. 字典的定义
键值对形式存储的,必须成对出现,不能只出现键(key)或者只出现值(values)
d = {key:values,…}
d = {“name”: “liujianhong”, “age”: 16, “gender”: “男”}
d = dict() #全局函数
2. 访问字典的值
通过key来访问对应的值,字典对象[key] # 返回key对应的值,如果没有,抛出异常
3. 修改字典元素
字典对象[key] = 新值
字典对象[新key] = 新值 # 增加新的键值对
4. 字典的常见方法:
[‘clear’, ‘copy’, ‘fromkeys’, ‘get’, ‘items’, ‘keys’, ‘pop’, ‘popitem’, ‘setdefault’, ‘update’, ‘values’]
- get # 和字典对象[key]类似,获取键对应值,注意,如果没有该键,返回None
- keys # 返回所有的键
- values # 返回所有的值
- items # 返回一个键值对
- pop(key) # 通过key删除键值对,若不存在则抛出错误
- popitem # 移除一个键值对,移除的规则是LIFO(last in first out)–后进先出
- copy #复制拷贝
- clear #清除元素
5. 字典的遍历: