• 知识点补充 set 深浅拷贝


    一 对前面知识点的补充

    1.str中的join()方法是将列表转换成字符串

    lst = ["韩雪","赵丽颖","黄渤","李连杰"]
    print("_".join(lst))      # 韩雪_赵丽颖_黄渤_李连杰

    将每个元素用_进行拼接

    s = "马化腾"
    print("-".join(s))    # 马-化-腾

    2.把字符串转换成列表  用split()

    ss = "高华新**刘清扬**崔园樟"
    print(ss.split("**"))

    3.列表和字典在循环的时候不能直接删除,需要把删除的内容记录在一个新的列表中,然后再循环新列表,删除列表或字典,字典在循环的时候不允许改变大小

    lst = ["1","2","3","4"]
    new_lst = []
    for el in lst:
        new_lst.append(el)
    for e in new_lst:
        lst.remove(e)
    print(lst)           #[]
    print(new_lst)       #['1', '2', '3', '4']

    删除姓张的人

    lst = ["张艺","张二","张三","张四","王五"]
    lst1 = []
    for el in lst:
        if el.startswith(""):
            lst1.append(el)
    for e in lst1:
        lst.remove(e)
    print(lst)
    print(lst1)

    4.fromkeys()   返回新字典和原来的字典没关系      后面的value,是多个key共享一个value

    dic = {"apple":"苹果","banana":"香蕉"}
    ret = dic.fromkeys("orange","橘子")
    print(ret)    # {'o': '橘子', 'r': '橘子', 'a': '橘子', 'n': '橘子', 'g': '橘子', 'e': '橘子'}

    直接用字典去访问fromkeys不会对字典产生影响

    dic = {"apple":"苹果","banana":"香蕉"}
    ret = dict.fromkeys("abc",["你是","坏蛋"])
    print(ret)

    fromkeys直接使用类名去使用
    二 set集合

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

    set就是字典类型的数据,不保存value,只保存key,set也用{}来表示  set本身是不可哈希的,set是可变的有增删改查操作

    作用:去重复

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

    三 深浅拷贝

    1.赋值操作:没有创建新对象,两个指向的是同一地址

    2.浅拷贝:只拷贝第一层内容.  [:]    copy()   创建了新对象

    3. 深拷贝:把这个对象的内容全部拷贝一份,引入copy模块,deepcopy()

  • 相关阅读:
    t
    bert4keras
    embeding应用-airbnb推荐
    The Neural Autoregressive Distribution Estimator
    3.redis desktop manager--redis 可视化工具安装及使用
    Day06作业(postman接口测试)
    DRF学习day01(web应用模式,api接口,RESTful API规范,序列化,Django Rest_Framework)
    restFul接口设计规范
    Vue学习之荏苒资讯项目(一)
    微信小程序开发四:Promise的使用,解决回调地狱
  • 原文地址:https://www.cnblogs.com/sypx/p/9415370.html
Copyright © 2020-2023  润新知