列表定义
定义 list
li = [1,2,3] 每个元素逗号隔开 -- 常用
list("abc") # 迭代定义
列表是一个容器 -- 任意类型
列表是有序 -- 索引 切片 步长
列表是可变 -- 增删改查
列表操作
增
append 追加
insert 插入 第一个参数 索引 第二个参数 内容
extend 迭代添加 for循环
两个列表相加 就会产生一个新的列表 列表合并
删
pop() 弹出,默认删除最后一个 有返回值 返回的是被删除的元素,可以指定通过索引删除元素
remove() 通过元素的名字删除 从左向右删除,有同名的删除左侧的第一个
del 表名 删除整个列表
del 表名[索引] 删除指定元素 也可以定义切片和步长删除区间内容
clear() 清空 把容器的内容全部删除
改
li[1] = "你好"
切片:
li[1:5] = "qwertyuio"
li[1:5] = "1"
li[1:5] = []
切片的时候可以多,可以少,可以指定空格
步长:
li[1:5:2] = "你好" 迭代出来
查
索引,切片,步长,for循环可直接查看
元祖
定义 tuple
tu = (1,2,3)或tu = (1,)都是元祖
tu = (1) 这个不是元祖 不加逗号括号中的元素是其本身
元祖的操作
元祖是有序的 他也有索引,切片,步长(和列表一样)
但是元祖是不可变数据类型
字典
定义 dict
dict -- {"key":'value',"a":1}
字典也是一个容器 -- 任意类型
字典是无序的(python3.6开始变得默认有序,创建顺序)
字典的键 -- 可哈希(不可变),唯一
字典的值 -- 任意
字典的操作
增:
dic['键'] = '值'
dic.setdefault('键',''值) -- 间不存在就添加,存在就不添加
删:
pop('键')
del dic['键']
dic clear() 清空
改:
dic['键'] = '值'
dic.update({'a':1,'b':1}) -- update(里边的级别高),会被前面的中相同的key对应的值覆盖,没有就会添加
查:
get('键','指定返回的内容') -- 不存在返回的是None,可以设置返回值
dic['键'] -- 不存在就会报错
dic.setdefault['键'] -- 查询
其他方法:
for i in dic:
print(i) -- 循环出来的是字典的键for i in dic.keys()这两个是一样的都是键,但是dic.keys() -- 返回的是一个高仿列表 -- 没有索引
for i in dic.values():
print(i) -- 返回的是一个高仿列表 -- 没有索引 循环出来的是值
for i in dic.items():
print(i) -- 返回的是一个高仿列表,列表里存放的是元组类型,元组第一个是键,第二个元素是值
enumerate() -- 枚举 给你要迭代对象,加一个序号 默认是从0开始,可以自己指定
集合
集合定义
se = {1,2,3}
特点:天然去重
增加
- s.update("3456"):迭代添加
- s.add("对对")
删除
- s.pop( ):删除第一个位置(可理解随机删除)有返回值
- s.remove("345"):通过元素进行删除
- s.clear( ):清空---返回 set()
- del s:删除整个集合
修改:
先删,再加
查:
for i in se:
print(i)
其他操作:
& 交集,|并集,-差集,^反交集(对称差集),>父集(超集),<子集,frozenset() 冻结集合.