zoukankan      html  css  js  c++  java
  • 1:add 2:clear 3:copy 浅拷贝 4:difference 判断两个set的不同,并且拿到他们的不同返回一个新列表 5:differnce_update:是将原来的set跟新,set.difference_update(['eric',blare'])把与原来相同的剔除,不返回一个新的set,只是跟新了原有的set(集 6:discard :移除元素 7:intersection

    1:对于数字或者是字符串,深浅拷贝都是拷贝的相同的内存地址

    2:对于列表元组字典之类的区别如下:

    字典:深拷贝

    import copy
    dic = {
        "cpu":[80,],
        "mem":[80,],
        "disk":[80,]
    }
    print(dic)
    new_dic = copy.deepcopy(dic)
    new_dic["cpu"][0] = 50
    print(dic)
    print(new_dic)
    输出结果:

    {'cpu': [80], 'mem': [80], 'disk': [80]}
    {'cpu': [80], 'mem': [80], 'disk': [80]}

    {'cpu': [50], 'mem': [80], 'disk': [80]}

    浅拷贝:

    {'cpu': [80], 'mem': [80], 'disk': [80]}
    {'cpu': [50], 'mem': [80], 'disk': [80]}
    {'cpu': [50], 'mem': [80], 'disk': [80]}

    可以看出当浅拷贝时,改变新的字典时,原来的字典的值也会改变也就是说对于浅拷贝,内存两个变量下值的内存地址是相同的

    但是对于深拷贝而言,只是值相等,但是内存地址是不同的,改变新的字典中的值,原来字典中的值是不会变化的;

    总结:

    1:对于不可变对象(如数字或者是字符串),无论是深拷贝还是浅拷贝,内存地址和值都是相同的,没有意义;

    2:对于可变的对象,如列表元组,字典类型的:

    浅拷贝:值和地址都是相同的

    深拷贝:值相同,地址不同

  • 相关阅读:
    HDU 5528 Count a * b 欧拉函数
    HDU 5534 Partial Tree 完全背包
    HDU 5536 Chip Factory Trie
    HDU 5510 Bazinga KMP
    HDU 4821 String 字符串哈希
    HDU 4814 Golden Radio Base 模拟
    LA 6538 Dinner Coming Soon DP
    HDU 4781 Assignment For Princess 构造
    LA 7056 Colorful Toy Polya定理
    LA 6540 Fibonacci Tree
  • 原文地址:https://www.cnblogs.com/bluesl/p/9079555.html
Copyright © 2011-2022 走看看