Python的容器
Python的容器篇
一、python中的容器的介绍:
Python中,可包含其他对象的对象,称之为“容器”。容器是一种数据结构。
常用的容器主要划分为两种:序列(如:列表、元祖等)和映射(如:字典)。序列中,每个元素都有下标,它们是有序的。映射中,每个元素都有名称(又称“ 键 ”),它们是无序的。
除了序列和映射之外,还有一种需要注意的容器——“ 集合 ”。
二、python中的内置容器:
1、|-- list 列表 :
列表是python官方提供的内置的线性表。
底层实现:基于双向链表结构实现。
其中列表是可重复的
(1)、list的定义:
可以直接用 变量名称 = [] 直接定义,如:
变量名称 = []
age = [] age = [15,16,18,17,16,18]
也可以直接用变量名称 = list() 定义,如:
变量名称 = list()
names = list() names = list("张三", "李四", "王五")
(2)、列表操作的常用方法:
- |----列表存入的被称为元素(element),可以通过下标可以访问元素格式为:列表名称[index]
- index:从0开始,最大值: 列表的总长度 - 1。
- |----获取列表的长度:
- len(Iterable) 返回这个可迭代对象(Iterable) 的长度。
- |-- append(ele) # 在尾部追加新的元素
- |-- insert(index, ele) # 在特定的位置添加元素
- |-- extend(list) # 合并列表 也可通过运算符号直接相加,列表 + 列表#等价于extend
- |-- clear() # 清空列表
- |-- remove(ele) #移除列表中某个值的第一个匹配项
- |-- pop() # 删除最后一个元素
- |-- index(ele) # 返回查找到的一个元素位置
- |-- count(ele) # 返回元素的数量
- |-- reverse() # 翻转列表顺序
- |-- sort() # 排序
- |-- copy() # 拷贝、复制,对象拷贝,对象浅拷贝
|-----列表的遍历:
for循环
for 临时变量 in Iterable:
# 每一次得到的元素会放在临时变量中。
也可以通过while循环来实现列表的遍历。
2、|-- set 集合
特点: 1、元素不能重复
2、无序的
(1)、set的定义:
可以用 变量名称 = set(Iterable)
s = set(Iterable)
ss = {1,2,3,4,} # {}中必须有值,如果没有值,则默认是dict,不是set
注意:set的元素无法通过下标访问
(2)、集合操作的常用方法:
- |-- add(ele) # 添加元素
- |-- clear() # 清空列表
- |-- copy() # 浅拷贝
- |-- difference(set) # 差集
- |-- intersection(set) # 交集
- |-- union(set) # 并集
- |-- update(set) # 合并两个集合
- |-- discard(ele) # 移除元素,如果该元素不存在,则什么都不做
- |-- remove(ele) # 移除元素,如果该元素不存在,则抛出异常
- |-- pop() # 删除最后一个元素
注意:set没有办法使用while 遍历数据,只能使用for循环
3、|-- tuple 元组
是一种不可变数据类型,基本数据类型也是不可变数据类型,所以表示的就是的固定的值,固定的一组值。但如果不可变数据类型中如果存在了可变数据类型,这个子对象是可以发生变化的。
可以通过下标来访问
元组的元素一旦定义,就无法修改!!!
(1)、tuple的定义:
元组名 = ( 元素1 , 元素2 , ... ... )
#当定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来
>>> tup1 = ('Google', 'Runoob', 1997, 2000)
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。
(2)、元组操作的常用方法:
- |-- count(ele) # 返回元素的数量
- |-- index(ele) # 访问元素
4、|-- dict 字典
字典和集合一样,底层实现就是一个hash table
最终的表示方式:
键值对:一个唯一键对应一个值,一一对应的关系,键必须不可变,所以可以用数字,字符串或元组充当
(1)、定义字典:
dd = dict({"id": 2, "name": "xx", "age": 17})
可以直接用变量名称 = {}
也可以用变量名称 = (dict{元素,元素,... ...})
d = {} d = {"id": 2, "name": "xx", "age": 17}
(2)、字典操作的常用方法:
- |-- clear() # 删除字典内所有元素
- |-- copy() #返回一个字典的浅复制
- |-- d[key] # 就可以获取字典中,key对应的值,如果不存在,则抛出异常
- |-- get(key, [defaul]) # 就可以获取字典中,key对应的值,如果不存在,则返回None
- |-- setdefault() # 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
- |-- keys() # 获取所有的键
- |-- values() # 以列表返回字典中的所有值
- |-- items() # 以列表返回可遍历的(键, 值) 元组数组
- |-- pop(key) # 通过key,删除键值对
- |-- popitem() # 返回并删除字典中的最后一对键和值。
- |-- update() # 合并字典 等价于 {**对象, **对象}
- |-- fromkeys(iterable) # 生成一个新的字典对象
如何遍历字典:
for i in 对象.keys(): #字典的键
print(i, 对象[i])
for i in 对象: #字典的键和值
print(i, 对象[i])
for item in 对象.items(): #字典的键和值
print(item[0], item[1])
for (key, value) in 对象.items(): #字典的键和值
print(key, value)
for key, value in 对象.items(): #字典的键和值
print(key, value)
更多推荐
所有评论(0)