列表list:变长容器,顺序存储,数量有限制
1. 添加元素:append(元素)、insert(下标, 元素)、+=、extern(列表)
2. 删除元素:remove(下标)、del list(下标)、pop()
3. 查找:in
4. 查找元素出现个数:count()
5. 清空:clear()
6. 长度:len()
注意:列表中可以存储不同的数据类型
元组tuple:与list类似,只是不能对元素进行添加、删除、修改,在创建时间和占用的空间上面都优于列表
1. 当只有一个元素时添加一个逗号
字典dict
1. 添加元素:d["key"] = value
2. 删除元素:d.popitem() 如果字典是空的抛出异常、del d["key"]
3. 修改元素:d["key"] = value、d.update(key=value, key=value)
4. 查找key:in
5. 获取键对应的值:d["key"](如果键不存在则抛出异常)、d.get("key", default) (找不到key时返回默认值或None)
6. 清空:clear()
7. 键:keys()
8. 值:values()
9. 项:items()
10. 有序字典
from collections import OrderedDict
d = OrderedDict()
d ["key"] = value
集合set:不允许有重复元素
1. frozenset 不可变集合
2. 添加元素:add(元素)、update(元素)
3. 删除:remove(下标)
4. 交集:&
5. 并集:|
6. 差集:-
7. 对称差集:^
8. 子集:<=、issubset(集合)
9. 超集:>=、issuperset(集合)
删除
pop(index):删除index处的值,并且返回这个值.
del(data[index]):删除index处的值,无返回值,del中的index可以是切片,所以可以实现批量删除.
remove(value):删除第一个等于value的值,无返回.
嵌套
1. 不要受数组的影响,元素类型可以不一样,比如 li=[ "abc", 1, 2.0, True ]
2. 可以互相嵌套,比如,li = [ "abc", (1, 2, 3), [ 1, 2, 3 ]
复制
1. 浅拷贝:copy() 只复制表层元素,如果元素是指针,不复制指针指向的内存
2. 深拷贝:copy.deepcopy() 如果元素是指针,复制指针指向的内存
互相转换
1. 转换为列表:list()
2. 转换为元组:tuple()
3. 转换为集合:set() 注意:会去除重复元素
遍历
1. 列表、元组、集合
for i in data:
print(i)
2. 字典
# 遍历键再通过键取值
for k in d:
print(k, d[k])
# 取出项
for k, v in d.items():
print(k, v)
3. 获取元素下标和值(只对列表和元组有用,字典和集合是无序的)
for i in enumerate(data):
print(i)
对list元素进行统一操作:(一般使用匿名函数)
1. apply(函数名,list) 修改元素值
2. map(函数名,list) 修改元素值
3. filter(函数名,list) 过滤,留下满足条件的元素
4. reduce(函数名,list) 累加,累乘
排序
1. sort() 改变原始数据
2. sorted() 返回排序后的副本,不改变数据
sort() 和 sorted() 默认正序排序(字母表顺序),可通过reverse参数改为反序
sorted(data, reverse=True)
3. reverse() 反序
4. 字典根据键排序
for k in sorted(d.keys()):
print(k)