容器内存储方式:列表 集合 元组 字典
1.列表(list)
常见线性表(数组 栈 队列 链表)
python里不存在数组(存储是连续的,依次删除,速度较慢)
俩种存储方式:栈和队列(栈为后进先出,队列先进先出)
定义方式:
(1)基于弱数据类型定义
ls = [1,2,3] (存储元素逗号隔开)
(2)通过全局变量定义
ls = list()
ls2 = list([1,2,3]) #类型可用 type(ls) 查看
每个容器内存储的元素存在下标,以便于对元素进行修改遍历
常用方法:
append() 向列表的尾部添加元素
insert(index,object) 向指定的下标处添加元素
sort() 进行排序(从小到大 int类型)可以对字母进行排序,类型不能混用
index() 返回的是元素在列表中的第一个位置
reverse() 将列表进行翻转
remove() 删除指定元素,若重复,删除的是第一次出现的元素,若元素不存在则报错
count() 返回的是某个元素在列表里面的个数
clear() 清除所有元素
copy() 浅拷贝对象 (不直接等于赋值)
extend() 合并列表
pop() 删除列表尾部的元素,返回删除的元素
存储的内容可以有多个类型
例如 ls = [1,2,3,[1,"数据",2],"数据"]
2.集合set()
集合是无序的,且不能重复
定义方式:
s = set()
s = set{1,2,3}
常用方法:
s[0] ? 报错 ,不可以访问 因为是无序
clear 清除
copy 浅拷贝对象
remove 若元素不存在会报错
pop 删除列表尾部的元素,返回删除的元素
add 添加 ,添加重复的元素的时候不会报错,但是不能成功添加,因为集合元素不能重复
difference 差集
intersection 交集
union 并集
update 更新集合(合并集合)
discard 移除元素,移除不存在的元素的时候,不会报错
3.元组 tuple()
有序从下标获取元素
元组是不可变类型,但元组内元素可变
例如: t = [1,2,3,[1,"数据",2],"数据"]
t = [1,2,3,[1,"数据2",2],"数据"]
元组定义:
t = tuple()
t = (1,2,3)
字典(dict)
字典 (dictionary)--------- map
键值对(key----value) -------- "name":"zhangsan"
定义方式:
1、d = dict()
2、 d = {"数据":666}
d[key] 获取value的值
d[key] = value 修改原本value的值
常用方法:
clear 清除
copy 浅拷贝对象
get 通过key获取value的值(若不存在key则返回None)
items 获取所有的键值对
keys 获取所有的键
values 获取所有的值
pop 通过key值删除键值对,如果没有则抛出异常
popitem 删除键值对,返回的是删除的键值对,规则为先进后出
setdefault 设置默认值