zoukankan      html  css  js  c++  java
  • 第七天 1.基础数据类型的补充 2.set集合 3.深浅拷贝

      ·一.基础类型补充

    1.1Join

      join 把列表变成字符串    split 把字符串变成列表

      

    1.2.列表在循环时删除 

      (list(列表)和(dict(字典))的原理是一样的)

      

    分析原因:  

           for的运行过程. 会有⼀个指针来记录当前循环的元素是哪一个, ⼀开始这个指针指向第0个.然后获取到第0个元素.

    紧接着删除第0个. 这个时候. 原来是第一个的元素会自动的变成第0个.然后指针向后移动⼀次, 指向1元素. 这时原来的1

    已经变成了了0, 也就不会被删除了.

      循环删除,不论用del 还是 remove都删除不了,试试pop

      

      只有利用for循环和range结合使用,才可以删除,而且是从后往前删

      由于删除元素会导致元素的索引改变, 所以容易出现问题. 尽量不要再循环中直接去删除元素.

      可以把要删除的元素添加到另一个集合中然后再批量删除. (list在循环的时候不能被删除,因为会改变索引)

      如下示例1:删除li=[11,22,33,44,]中的所有元素

      

      示例2:删除列表中姓“周“的名字

      

      字典(dict)中的fromkey(), 可以帮助我们通过list来创建一个dict

     

      前面的列表中的每一项都会作为key,后面列表的内容都会作为value,生成dict

      

    1.3字典在循环中的删除

      字典(dict)中的元素在迭代过程中是不予许进行删除的

      解决办法:

        把要删除的元素暂时先保存在一个list中,然后循环list,在删除

      如下示例:删除字典中带有“k“的元

      

    类型转换:

             元祖 ——> 列表   list(tuple)

          列表——>  元祖   tuple(list)

        list  ——> str   str.join(list)

        str  ——>  list   lstr.split()

        转换成False的数据: 0, ‘’ , None, [] , (,), {}, set() --> False

    二.Set集合

      set集合是python的一个基本数据类型.  一般不是很常用 . set中的元素是不重复的.⽆序的.里面的元素必须是可hash的(int, str, tuple,bool),

      我们可以这样来记. set就是dict类型的数据但是不保存value, 只保存key. set也⽤用{}表⽰示

      set 中的元素是不重复的,且无序的

      

        根据set中的值不能重复,可以使用set来去掉重负值

      如下示例

           

    三.深浅拷贝

      赋值:

      

      浅拷贝:只会拷贝第一层,不会拷贝第二层的内容,所以被称为浅拷贝

      

      

      深度拷贝:对象中的所有的内容都会被拷贝一份

            Import  capy

                   Copy.deepcopy()

      深度拷贝. 把元素内部的元素完全进行拷贝复制. 不会产⽣一个改变另一个跟着改变的问题

       

  • 相关阅读:
    spring-tool-suite-4下载安装及报错的解决办法
    CentOS 6.5使用yum快速搭建LAMP环境
    jquery省份城市选择器
    js 将json字符串转换为json对象的方法解析
    Spring MVC添加支持Http的delete、put请求!(HiddenHttpMethodFilter)
    Filebeat工作原理
    filebeat_config
    Docker设置http代理
    转-OWASP CSRFGuard使用细节
    转-JavaWeb三大组件之Listener监听器
  • 原文地址:https://www.cnblogs.com/mwhylj/p/9304849.html
Copyright © 2011-2022 走看看