zoukankan      html  css  js  c++  java
  • 列表,元组,集合,字典的操作及方法 和 深浅拷贝

    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)
    

      

     

  • 相关阅读:
    Ubuntu20 修改网卡名称
    单臂路由实现不同vlan间通信
    配置trunk和access
    基于端口划分vlan
    Zabbix5.0服务端部署
    搭建LAMP环境部署opensns微博网站
    搭建LAMP环境部署Ecshop电商网站
    Zabbix 监控过程详解
    Zabbix agent端 配置
    Zabbix 监控系统部署
  • 原文地址:https://www.cnblogs.com/zhoulangshunxinyangfan/p/13299884.html
Copyright © 2011-2022 走看看