zoukankan      html  css  js  c++  java
  • 洗礼灵魂,修炼python(16)--列表进阶话题—>上节作业讲解+copy模块,浅拷贝,深拷贝

    上节课后作业:

    1.使用列表解析输出结果:[(0,0),(0,2),(2,0),(2,2)]

    方法1:

    方法2:

    方法3:

    2.使用列表生成器打印斐波那契数列

    3.使用列表解析生成列表[1x2,3x4,5x6,7x8,…,99x100]

    4.利用3层for循环的列表生成式,找出对称的3位数,例如:121等从左到右从又到左还是原来的对称数

    5.编写一个函数,它接受一个list,然后把list中的所有字符串变成大写后返回,非字符串元素将被忽略

    如果按照平常写法是这样:

    按照列表解析就简单很多:

    注意,此时并没有对原列表更改

    copy模块:

    1.什么是copy

    前面在列表分片的时候稍微提了一下关于拷贝(复制),在这一章将详细介绍关于拷贝的copy模块

    2.作用

    做数据备份,稍微了解运维的都应该听过完全备份和增量备份吧?其实这里就使用了拷贝,所以在实际运用中,拷贝是很常用的

    3.函数(方法):

    看到这些方法,其实相比于前面的,其实并不多对吧?忽略带有特殊功能的方法,其实也就几个对吧?

    然而这个模块最常用的就是copy和deepcopy方法,其他基本很少用,所以直接略过

    copy:这个方法就是简单意义上的拷贝,和常识里的拷贝差不多,它又另一个名称叫【浅拷贝】(或者浅复制),换句话就是对父类对象引用的拷贝

    例:

    deepcopy:这个方法就厉害了,这个比浅拷贝更牛一点,被叫做深拷贝(或深复制),换句话就是对对象的资源的拷贝

     

    (如果看这个图解让你更费解,那么忽略即可,前面的文字说明我想已经够清楚了)

    总结:

    浅拷贝就是对原对象最外层的复制,如果有内层则是直接的引用

    深拷贝是对原对象整个参数资源的复制,不管有内层与否,已经和原对象毫无关系

    拷贝对于字符串和整形数与字典和列表的处理是不同的

    其实是不是很简单?那么如果你还没懂,自己多练习

  • 相关阅读:
    PHP全部手册
    你必须收藏的GitHub技巧
    PV和并发
    api接口
    LeetCode 14. 最长公共前缀
    LeetCode 1037. 有效的回旋镖
    LeetCode 242. 有效的字母异位词
    LeetCode 151. 翻转字符串里的单词
    LeetCode 22. 括号生成
    LeetCode 面试题05. 替换空格
  • 原文地址:https://www.cnblogs.com/Eeyhan/p/7636976.html
Copyright © 2011-2022 走看看