2.2 list的方法
# 增 list.append() # 追加 list.insert() # 指定索引前增加 list.extend() # 迭代追加(可迭代对象,打散追加) # 删 list.pop() # 指定索引删除(默认删最后一个元素,返回值为删除对象,没有则报错) list.remove() # 指定元素删除(若有相同元素,默认删除第一个) list.clear() # 清空 # 其他 list.index() # 获取元素的索引(可指定范围) list.count() # 获取元素的个数 list.sort() # 排升序 list.sort(revarse = True) # 排降序 list.reverse() # 反转 list.copy() # 复制
3、深浅拷贝
import copy # 浅拷贝(只拷贝第一层) lst = [1,2,3,[4,5,6]] lst1 = lst lst2 = copy.copy(lst) lst.append(7) print(lst1,lst2) # [1, 2, 3, [4, 5, 6], 7] ------ [1, 2, 3, [4, 5, 6]] lst[3].append(888) print(lst1,lst2) # [1, 2, 3, [4, 5, 6, 888], 7] ----- [1, 2, 3, [4, 5, 6, 888]] # 深拷贝 lst = [1,2,3,[4,5,6]] lst1 = lst lst2 = copy.deepcopy(lst) lst.append(7) print(lst1,lst2) # [1, 2, 3, [4, 5, 6], 7] ----- [1, 2, 3, [4, 5, 6]] lst[3].append(888) print(lst1,lst2) # [1, 2, 3, [4, 5, 6, 888], 7] ----- [1, 2, 3, [4, 5, 6]]
4、tuple
tuple.index() # 获取元素的索引(可指定范围) tuple.count() # 获取元素的个数
5、dict
# 增 dict = {} lst = ["name","age","happy"] dict.fromkeys(lst,None) # 创建默认值字典 # 删 dict.pop("key","返回的默认值") # 不设置默认值,没有找到会报错 dict.popitem() # 删除最后一组键值对 dict.clear() # 清空 # 改 dict.updata() # 批量更新 # 查 dict.get("key","返回的默认值") # 不设置默认值,没有找返回None dict.keys() # 获取所有 key ,返回可迭代对象,非列表 dict.values() # 获取所有 value,返回可迭代对象,非列表 dict.items() # 获取所有键值对 ,返回可迭代对象,非元组
6、set
6.1 set的操作
s1 = {0,1,3,5,7,9} s2 = {0,2,4,5,6,8} # 交集 ===== & s1.intersection(s2) # s1 & s2 ------> {0, 5} # 查集 ===== - s1.difference(s2) # s1 - s2 ------> {1, 3, 9, 7} s2.difference(s1) # s2 - s1 ------> {8, 2, 4, 6} # 并集 ===== | s1.union(s2) # s2 | s1 ------> {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} # 对称差集 s1.symmetric_difference(S2) # s2 ^ s1 ------> {1, 2, 3, 4, 6, 7, 8, 9}
s1 = {1,2,3} s2 = {1,2,3,4,5,6} # 判断子集 s1.issubset(s2) # s1 < s2 ------> True # 判断父级 s1.issuperset(s2) # s1 > s2 ------> False # 判断是否无相交 s1.isdisjoint(s2) # False
6.2 set 的方法
# 增 set.add() # 单个增加 set.updata() # 迭代增加 # 删 set.pop() # 随机删除 set.remove() # 指定元素删除,不存在会抱错 set.discard() # 指定元素删除,不存在不报错 set.clear() # 清空
6.3 冰冻集合
# 强制转换成frozenset对象,只能做交差并补操作 s1 = [0,1,3,5,7,9] res = frozenset(s1)