容器
容器就是供我们使用的对象(不是处对象那个)
用于方便我们操作和管理大批量的数据
分为四个类型:
一、list列表
列表,即有序的数列
在程序中,线性表:数组、链表、栈、队列
python的list底层就是基于双向链表结构设计的
如何定义list
1.借助python的弱数据类型的特点
ls1 = [] #ls为变量名 自己定义,此为空列表
ls2 = [2,3,4] # 创建了有这些元素的列表
print(ls1)
print(ls2)
2.借助python提供的全局函数创建list
ls1 = list() #空表
ls2 = list([3,5,6,7,8]) #有这些元素的列表
print(ls1)
print(ls2)
访问list中的元素
线性表都是具有下标(索引)的,可以根据索引访问
列表对象[下标](从0开始,注意越界)
ls1 = [2,3,4,6,5] #创建了有这些元素的列表
ls2 = list([3,5,6,7,8]) #有这些元素的列表
print(ls1[3])
print(ls2[0])
len(ls2) #统计list中的函数
遍历列表
借助循环语句即可
ls2 = list([3,5,6,7,8]) #有这些元素的列表
for i in ls2:
print(i)
控制列表
append(元素):在列表尾部追加元素
insert(index,元素):在对应索引位插入元素
remove(元素):移除元素,如果不存在,则报错
pop (index=一1):默认移除最后一个元素,如果存在参数,则就是要移除的下标(若是有误,则会报错)
copy:将此列表内容复制到另一列表上
clear ( ):清空列表
reverse ( ):清空列表
sort ():清空列表
index(元素):查找无素的位置
count(元素):合并列表
extend: 合并列表
二、set集合
特点:
1.无序的。
2.不能重复。
底层是使用哈希表的结构设计的(hash)
定义集合:
1.借助python的弱数据类型的特点
s = {1,3,5} #必须有值,不然默认空{}是字典类型,不是集合
2.借助python提供的全局函数创建set
s = set({1,3,5})
遍历
只能for遍历,因为是无序的while无法遍历
控制集合
add() : 添加元素
clear() : 清除列表
copy() : 浅拷贝对象
difference() : 差集
intersection() : 交集
union() : 并集
remove(元素) :移除元素,如果不存在,则报错
pop(元素) : 随机(arbitrary)移除,不存在,则报错
discard(元素) : 随机(arbitrary)移除,不存在,则什么都不做
三、tuple元组
不可变数据类型,里面的元素不允许被修改
1.借助python的弱数据类型的特点
t = (1,3,5)
2.借助python提供的全局函数创建tuple
t = tuple((1,2,4,5))
控制元组
count :统计元素个数
index :查看元素索引位置
四、dict字典
字典是一一对应的。
1.借助python的弱数据类型的特点
d = {}
d = {k1: v1, k2: v2}
2.借助python提供的全局函数创建dict
d = dict({})
d = dict({a1:b2,a2:b2})
单个访问
d[“k1”]
d.get(“k2”)
p[“name”] = “lisi” # 增加键值对
遍历
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)
for (key, value) in p.items():
print(key, value)
for t in p.items():
print(t[0], t[1])
控制字典
clear:删除字典内所有元素。
copy:返回一个字典的浅复制。
get:返回指定键的值。
keys() :将所有的key返回
values() : 将所有的值返回
setdefault :返回指定键的值,如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None。
items() : 一对一对的返回
pop(key) : 通过key删除对应键值对
popitem() : 安装 LIFO (last-in, first-out) order 删除键值对