深浅拷贝

Posted lzqrkn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深浅拷贝相关的知识,希望对你有一定的参考价值。

    • 对之前的只是进行补充
      • str中的join方法,把列表转成字符串
        s = ([‘高华信‘,‘刘清扬‘,‘催国章‘])
        s = ?‘_‘join([‘高华信‘,‘刘清扬‘,‘催国章‘])
        print(s)?
        #输出? 高华新_刘清扬_崔园樟 
        ?
        ??s = ([‘高华信‘,‘刘清扬‘,‘催国章‘])
        s = ?‘**‘join([‘高华信‘,‘刘清扬‘,‘催国章‘])?
        print(s)?
        ?#输出高华新**刘清扬**崔园樟
      • join 也可以作为迭代的对象

        s = ‘_‘join?(‘刘能‘)
        print(s)?
        #输出? 刘_能
      • str中将字符串转换成列表 split
        s= ‘asdasdasdasd‘
        s1 = s.split()
        print(s1)
        #输出 [‘asdasdasdasd‘]?
      • 列表和字典在循环的时候不能直接删除,需要吧要删除的内容记录在新的列表中,然后循环新列表,删除字典或列表
        lst = [‘"张国荣", ‘张铁林‘, ‘张国立‘, "张曼玉", "汪峰"‘]
        new_lst = []
        for el in lst:
        if el.startswith?(‘张‘):
        new_lst.append(‘张‘)
        for el in new_lst:
        lst.remove(el)
        print(lst) #打印的是除了姓张之外的列表
        print(new_lst)? #打印的是姓张的列表??????
        • 列表的删除 clear 清空列表
        • 字典的删除
          dic = {"提莫":"冯提莫", "发姐":"陈一发儿", "55开":"卢本伟"}
          li = []
          for i in dic
          if i.startswith(‘提莫‘)
          li.append(i)
          for i in li:
          dic.pop(i)
          print(dic)????????
        • 列表的删除
      • formkeys()
        • 返回新的字典,对原字典没有影响
        • 后面的value,是多个key共享的一个value
    • set 集合
      • 特点:无序, 不重复, 元素必须可哈希(不可变)
      • 作用:去重复
      • 本身是可变的数据类型. 有增删改查操作.
    • 深浅拷贝
      • 1. 赋值. 没有创建新对象. 公用同一个对象
      • 2. 浅拷贝. 拷贝第一层内容. [:]或copy()
        lst1 = ["金毛狮王", "紫衫龙王", "青翼蝠王", "白眉鹰王",["张无忌","赵敏","周芷若"]]
        lst2 = lsta[:]
        print(lst2)??
      • 3. 深拷贝. 拷贝所有内容. 包括内部的所有.
        lst1 = ["金毛狮王", "紫衫龙王", "青翼蝠王", "白眉鹰王",["张无忌","赵敏","周芷若"]]
        ?lst2 = copy.deepcopy
      • 引入 copy 模块
        • inport copy







































以上是关于深浅拷贝的主要内容,如果未能解决你的问题,请参考以下文章

什么是深浅拷贝?如何实现深浅拷贝

python-深浅拷贝

简述深浅拷贝

深浅拷贝

Python的深浅copy

Python3 深浅拷贝