zoukankan      html  css  js  c++  java
  • python day 07-数据类型补充,集合,深浅拷贝

    一、基础数据类型补充

    1.列表转字符串

    a='A'.join(['c','c','s'])
    print(a)

    2.循环删除列表中的每⼀一个元素

    lst=['asdf','dftgst','zsdrfse']
    for i in range(0,len(lst)):
        lst.pop()
    print(lst)

    3.

    类型转换:
    元组 => 列列表 list(tuple)
    列列表 => 元组 tuple(list)
    list=>str str.join(list)
    str=>list str.split()
    转换成False的数据:
    0,'',None,[],(),{},set() ==> False

    二、set 集合

    1.set:不可重复,无序,里面的元素必须是可哈希的(int, str, tuple,bool),我们可以这样来记. set就是dict类型的数据但是不保存value, 只保存key. set也用{}表示

    2.增

    a={'sdfs','sdfsf'}
    a.add('ad')
    print(a)
    s.update("麻花藤") # 迭代更新

    3.删

    s = {"刘嘉玲", '关之琳', "王祖贤","张曼⽟玉", "李李若彤"}
    item = s.pop() # 随机弹出⼀一个.
    print(s)
    print(item)

    s = {"刘嘉玲", '关之琳', "王祖贤","张曼⽟玉", "李李若彤"}
    s.remove( '关之琳') #如果不存在会报错
    print(s)
    
    set.clear()#清空列表
    

    4.查

    s = {"刘嘉玲", '关之琳', "王祖贤","张曼⽟玉", "李李若彤"}
    for i in s :
        print(i)
    

    5.改

    # set集合中的数据没有索引. 也没有办法去定位⼀一个元素. 所以没有办法进⾏行行直接修改.
    # 我们可以采⽤用先删除后添加的⽅方式来完成修改操作
    s = {"刘嘉玲", '关之琳', "王祖贤","张曼玉", "李若彤"}
    # 把刘嘉玲改成赵本⼭山
    s.remove("刘嘉玲")
    s.add("赵本山")
    print(s)

    三、深浅拷贝

    lst1 = ["⾦金金⽑毛狮王", "紫衫⻰龙王", "⽩白眉鹰王", "⻘青翼蝠王"]
    lst2 = lst1
    print(lst1)
    print(lst2)
    lst1.append("杨逍")
    print(lst1)
    print(lst2)
    #lst1变lst2也会变

    2.浅拷贝. 只会拷贝第一层. 第二层的内容不会拷贝. 所以被称为浅拷⻉.。

    lst1 = ["金毛狮王", "紫衫龙王", "白眉鹰王", "青翼蝠王"]
    lst2 = lst1.copy()
    lst1.append("杨逍")
    print(lst1)
    print(lst2)
    #lst1变lst2不会变
    
    lst1 = ["金毛狮王", "紫衫龙王", "白眉鹰王",["青翼蝠王"] ]
    lst2 = lst1.copy()
    lst1[3].append("杨逍")
    print(lst1)
    print(lst2)
    #lst1变lst2不会变
    嵌套里面的数据变了也会跟着变
    

    3.深拷贝--里面嵌套的元素发生改变也不会改变

    import copy
    lst1 = ["何炅", "杜海海涛","周渝⺠民", ["麻花藤", "⻢马芸", "周笔畅"]]
    lst2 = copy.deepcopy(lst1)
    lst1[3].append("⽆无敌是多磨寂寞")
    print(lst1)
    print(lst2)
    print(id(lst1[3]), id(lst2[3]))
    结果:
    ['何炅', '杜海海涛', '周渝⺠民', ['麻花藤', '⻢马芸', '周笔畅', '⽆无敌是多磨寂寞']]
    ['何炅', '杜海海涛', '周渝⺠民', ['麻花藤', '⻢马芸', '周笔畅']]
    4447221448 4447233800
    

      

      

      

      

  • 相关阅读:
    [转]理解I/O Completion Port
    Android OnTouchListener 导致 OnClickListener 接收不到消息 无反应
    linux如何查看所有的用户和组信息?
    本地连接属性:Internet协议版本4(TCP/IPv4)打开闪退解决办法
    解决IE11安装时需要“获取更新”(IE11离线安装)
    plsql中文乱码问题(显示问号)
    npm配置国内镜像资源+淘宝镜像
    Node.js安装及环境配置之Windows篇
    Docker报错 WARNING: IPv4 forwarding is disabled. Networking will not work.
    VirtualBox中CentOS7.2 网络配置(固定IP+联网)
  • 原文地址:https://www.cnblogs.com/snackpython/p/9935075.html
Copyright © 2011-2022 走看看