zoukankan      html  css  js  c++  java
  • PYTHON的元组和字典丶深拷贝丶浅拷贝丶集合的常用操作方法

    #元组的定义

    a=()

    a=(1,2,3,4)

    元组也是一个list他和List的唯一区别是元组不可以修改

    元组的方法只有count和index

    不可修改的类型是元组和字符串都不可以修改

    a=('ces',)如果你定义的元组只有一个元素你一定要加一个逗号

    写代码就是和内存打交道

    l=[1,2,3,4,5,6]

    l2=l

    print(l的内存地址 )

    浅拷贝的意思就是你在定义一个变量的时候,在定义一个变量接收这个变量然后,这个变量的内存地址会发生变化

    浅拷贝写变量修改一个变量会影响另一个变量的值

    深拷贝的意思是

    深拷贝定义的这个变量会新开辟一个内存空间并不会修改,改变浅拷贝的变量

    写代码不让她互相影响就是深拷贝
    浅拷贝写变量修改一个变量会影响另一个变量的值
    users=[1,2,3,4,5]
    l2=copy.deepcopy(users)#这个就是顶一个深拷贝

    l=[1,2,3,4,5,6]
    l2=l
    print('l的地址是',id(l))
    print('l2的地址是',id(l2))
    #这种事浅拷贝
    l.append('吴慧丽')#改了l,l2也受影响
    print(l)
    print(l2)
    l2.remove(1)
    print(l2)
    #这种方法是深拷贝 ,浅拷贝内存地址不变 ,深拷贝内存地址变了
    import copy
    l=[1,2,3,4,['a','b','c']]
    l2=copy.deepcopy(l)#只有这种才是深拷贝
    #写代码不让她互相影响就是深拷贝
    #浅拷贝写变量修改一个变量会影响另一个变量的值
    users=[1,2,3,4,5]
    l2=copy.deepcopy(users)#这个就是顶一个深拷贝
    #关系测试
    ces=set(['dong','chun','guang'])
    ces1=set(['dong','chun','guang','zui','shuai'])
    print(ces&ces1)#取交集
    print(ces.union(ces1))#把两个集合合并到一起去掉重复的
    print(ces|ces1)#并集
    print(ces-ces1)#在a集合里有在b里没有 差集
    ces.add('655')#集合的添加
    print(ces)
    ces.remove('13221')#集合的删除,没有会报错
    print(ces)


  • 相关阅读:
    生命周期-BeanPostProcessor-后置处理器
    生命周期-@PostConstruct&@PreDestroy
    生命周期-InitializingBean和DisposableBean
    异常安全
    inline函数
    bool类型
    函数重载与默认参数
    C++强制转换
    引用
    new/delete表达式
  • 原文地址:https://www.cnblogs.com/weilemeizi/p/11510748.html
Copyright © 2011-2022 走看看