• python中set(集合),深浅拷贝以及一些补充知识点


    1.set集合

      特点:无序,不重复,元素必须可哈希(不可变)

      作用:去重复

      本身是可变的数据类型。有增删改查操作。{集合的增删改查操作应用较少,这里不做详细介绍了(这里的增有一个方法update注意这个是迭代添加)}

      frozenset()冻结的集合。不可变,可哈希。

    1 s = {"哈哈哈","嘿嘿嘿","呵呵呵"}
    2 s1 = frozenset(s)
    3 print(type(s1)) #<class 'frozenset'>

    2.深浅copy

      1>赋值。没有创建新对象,公用同一个对象。

      2>浅copy。拷贝第一层内容,这第一层内容创建了新对象。

        方法:[:]或者copy()

      3.深copy。拷贝所有内容,包括内部的所有。

        方法:首先要引入copy模块

            import copy

            copy.deepcopy  

    3.str中的join方法:

      str中的join方法,把列表转变成字符串。前面的str中的split(),是将字符串变成列表。

      join(可迭代对象)

    4.列表和字典在循环的时候不能直接删除(字典在循环中是不能改变的),需要把删除的内容记录在新列表中,然后循环新列表,删除字典或列表。

    1 lst = ["紫云", "大云", "玉溪", "紫钻","a","b"]
    2 lst1 = []
    3 for el in lst:
    4     lst1.append(el)
    5 for el in lst1:
    6     lst.remove(el)
    7 print(lst) #[]

    5.fromkeys()

      dict.fromkeys(key,value)

      1>直接用类名(dict)调用

      2>返回新字典,对原字典没有影响

      3>后面的value是多个key共享一个value     在这个方法中的key是一个可迭代对象

    1 a = ["哈哈","呵呵", "吼吼"]
    2 ret = dict.fromkeys("abc", a) 
    3 a.append("嘻嘻")
    4 print(ret)
    5 #{'a': ['哈哈', '呵呵', '吼吼', '嘻嘻'], 'b': ['哈哈', '呵呵', '吼吼', '嘻嘻'], 'c': ['哈哈', '呵呵', '吼吼', '嘻嘻']}

      

  • 相关阅读:
    2019.9.5 Balanced Lineup
    0060-最小的四位数
    0059-乘积问题
    0058-简单的阶乘
    0057-简单的累加
    0056-简单的博弈
    神奇代码
    测评结果大百科
    0055-空气质量检测
    0054-软件版本号问题
  • 原文地址:https://www.cnblogs.com/qq849784670/p/9414582.html
Copyright © 2020-2023  润新知