容器的定义
容器是编程语言提供给开发者使用的对象
python官方提供四种常见的容器:
list 列表
set 集合
tuple 元组
dict 字典
list
为有序的数列
在程序中,线性表:数组、链表、栈、队列
python的list的底层就是基于双向链表结构设计的
定义list:
1、借助弱数据类型语言的特点
[] # 列表是以[]的形式表现
ls = [] # 空列表
ls = [1, 2,3,4,5] # 创建了一个有如下元素的列表
2、借助python提供的一个全局函数创建list
ls = list()
ls = list([1,23,3,4,4554])
访问list中的元素(element)
线性表,都是具有下标(索引)的:下标从0开始,不要越界
列表对象[下标]
注意:
print(ls[4]) # 访问ls中的第五个元素
ls[1] = 100 # 将ls列表中的第二个元素值修改为100
用来统计list中的元素:
全局函数:len()
如何遍历列表
1、使用循环遍历
for index in ls2:
print(index)
2、使用while循环遍历列表
index = 0
while index < len(ls2):
print(ls2[index])
index += 1
list的常见方法:
append(元素) # 在列表尾部追加元素
insert(index, 元素) # 在对应索引为插入元素
remove(元素) # 移除元素,如果不存在,则报错
pop(index=-1) # 默认移除最后一个元素,如果存在参数,则该参数就是要移除的下标,注意:下标有误,会抛出异常
clear() # 清空列表
reverse() # 翻转列表元素顺序
sort() # 排序
index(元素) # 查找元素的位置
count(元素) # 统计元素的数量
extend # 合并列表
copy() # 复制列表对象,其本质是浅拷贝
set
是无序的,并且不能重复
底层使用的hash表(哈希表)的结构设计的
定义:
1、借助弱数据类型语言的特点
注意:必须要存在值,否则默认空{}是字典类型,而不是set
s = {1,2,4}
2、全局set函数
s = set()
注意:遍历只能使用for循环遍历,while没有办法遍历(无序)
常见方法:
add() # 添加元素
clear() # 清除列表
copy() # 浅拷贝对象
difference() # 差集
intersection() # 交集
union() # 并集
remove(元素) # 移除元素,如果不存在,则报错
pop(元素) # 随机(arbitrary)移除,不存在,则报错
discard(元素) # 随机(arbitrary)移除,不存在,则什么都不做
tuple
它的元素不可以改变
常见方法:
count # 统计元素个数
index # 查看元素索引位置
注意:
t = (1) 类型为int
t = (1,) 类型为tuple
dict
它的定义:
d = {}
d = {k1: v1, k2: v2}
d = dict({})
1.可以使用key访问到key对应的值
d[“k1”]
d.get(“k2”)
2.p[“name”] = “yyqx” # 增加value值
常见方法:
clear #清空元素
copy #复制
get #获得value值
keys() # 将所有的key返回
values() # 将所有的值返回
setdefault #设置默认值
items() # 一对一对的返回
pop(key) # 通过key删除对应键值对
popitem() # 安装 LIFO (last-in, first-out) order 删除key对应值
字典的遍历方式:
1、
for key in p:
print(key, p[key])
2、
for key in p.keys():
print(key , p.get(key))
3、
for key, value in p.items():
print(key, value)
4、
for (key, value) in p.items():
print(key, value)
5、
for t in p.items():
print(t[0], t[1])
全局函数:
print()
input()
type()
range()
list()
len()
exit()
help() # 调用帮助问题
dir() # 查询对象的所有属性或者方法
reverse() # 翻转列表