列表,元组,集合,字典的操作及方法 和 深浅拷贝

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)

  

 

原文地址:https://www.cnblogs.com/zhoulangshunxinyangfan/p/13299884.html