day09-3 数据类型总结,深浅拷贝
数据类型总结,深浅拷贝
存一个值还是多个值
- 一个值:整型,浮点型,字符串
- 多个值:列表,元祖,字典,集合
有序 or 无序
- 有序:字符串,列表,元祖
- 无序:字典,集合
可变 or 不可变
可变:列表,字典,集合
不可变:整型,浮点型,字符串
浅拷贝和深拷贝的区别(只针对可变类型)
1.拷贝:
lis = [1,2,3,4]
lis2 = lis
lis.append(5)
print(lis)
print(lis2)
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
2.浅拷贝
import copy
lis = [1,[3, 4]]
lis2 = copy.copy(lis)
print(lis)
print(lis2)
lis.append(2)
print(lis)
print(lis2)
lis[1].append(5)
print(lis)
print(lis2)
[1, [3, 4]]
[1, [3, 4]]
[1, [3, 4], 2]
[1, [3, 4]]
[1, [3, 4, 5], 2]
[1, [3, 4, 5]]
3.深拷贝
l1 = [1, [2, 3]]
l2 = copy.deepcopy(l1)
print(l1)
print(l2)
l1.append(2)
print(l1)
print(l2)
l1[1].append(5)
print(l1)
print(l2)
[1, [2, 3]]
[1, [2, 3]]
[1, [2, 3], 2]
[1, [2, 3]]
[1, [2, 3, 5], 2]
[1, [2, 3]]
总结:
这些只是一种现象.
拷贝:共用一片内存,l1发生改变则l2也会发生改变,因为l1是可变类型
浅拷贝:另外开辟内存,共用其中元素的地址,当l1内部的不可变对象发生改变时,l2不发生改变,因为该元素的地址变了.当l1内部的可变对象发生了改变时,l2随之改变,因为地址不变
深拷贝;另外开辟内存,共用元素中不可变对象的地址,l1改变,l2不变,两者互相独立,没有太大的关系
day09-3 数据类型总结,深浅拷贝的更多相关文章
- 巨蟒python全栈开发-第7天 基本数据类型补充&深浅拷贝
1.基本数据类型补充 2.深浅拷贝 DAY7-基本数据类型(基本数据类型补充&深浅拷贝) 本节主要内容: 1.补充基础数据类型 (1)join方法 (2)split方法 (3)列表不能在循环时 ...
- python之基本数据类型及深浅拷贝
一.数据基本类型之set集合 set和dict类似,也是一组key的集合,但不存储value.由于key不能重复,所以,在set中,没有重复的key set集合,是一个无序且不重复的元素集合 1.创建 ...
- day7 基础数据类型&集合&深浅拷贝
基础数据类型汇总: #!/usr/bin/env python # -*- coding:utf-8 -*- ''' str int ''' # str s = ' a' print(s.isspac ...
- day-06数据类型与深浅拷贝
深浅拷贝 # 值拷贝:应用场景最多 ls = [1, 'abc', [10]] ls1 = ls # ls1直接将ls中存放的地址拿过来# ls内部的值发生任何变化,ls1都会随之变化 ls2 = l ...
- Python【第二篇】运算符及优先级、数据类型及常用操作、深浅拷贝
一.运算符及优先级 Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 1.算数运算符 运算符 描述 实例,a=20,b=10 + 加 a+b输出结果30 - 减 a-b输出结果 ...
- Python 全栈开发十一 深浅拷贝
深浅拷贝 深浅拷贝的前提: 相等和相同的关系 深浅拷贝针对的是列表等可变的数据类型. 深浅拷贝在普通的列表没有什么意义,只有在嵌套列表,或其他嵌套数据类型才有意义. a = "aaa&quo ...
- python基础(7)--深浅拷贝、函数
1.深浅拷贝 在Python中将一个变量的值传递给另外一个变量通常有三种:赋值.浅拷贝.深拷贝 Python数据类型可氛围基本数据类型包括整型.字符串.布尔及None等,还有一种由基本数据类型作为最基 ...
- python内存相关以及深浅拷贝讲解
3.9 内存相关 3.9.1 id,查看内存地址 >>> v1 = [11,22,33] >>> v2 = [11,22,33] >>> prin ...
- Day7--Python--基础数据类型补充,集合,深浅拷贝
一.基础数据类型补充 1.join() 把列表中的每一项(必须是字符串)用字符串拼接 与split()相反 lst = ["汪峰", "吴君如", " ...
- day8数据类型补充,集合,深浅拷贝
思维导图: 集合的补充:下面的思维导图有一个点搞错了,在这里纠正一下,没有合集,是反交集,^这个是反差集的意思 . 交集&,反交集^,差集-,并集|,然后就是子集和超集 数据类型补充: ''' ...
随机推荐
- 补充01 Django 类视图
视图 函数视图[Function Base View] 以函数的方式定义的视图称为函数视图,函数视图便于理解.但是遇到一个视图对应的路径提供了多种不同HTTP请求方式的支持时,便需要在一个函数中编写不 ...
- Oracle下rman备份和还原到数据库任意一个时间点
Rman备份为物理备份,启用rman备份必须开启数据库归档,开启归档后相当于给数据库加了一层双保险.Rman备份主要备份数据库的数据文件,控制文件,归档日志. RMAN 备份 一. 检查数据库是否启用 ...
- CSS - 内联元素span 强制换行失败的可能原因
在CSS中,标签span 强制换行失败:(使用display:block) 可能原因:float:left or float:right
- php多维数组的指定单个字段排序
多维数组如何根据指定键值?比如现在有数组结构如下: ,,,,,'subject' => 'math'), 1 => array('name' => '3班','avgScore'=& ...
- 再见,OI(2019退役祭)
有些话应该藏在心里,有些事情只属于自己. (想了一下,自己的OI生涯.自己所经历的事情还是留在自己的心里吧,一是自己文笔不好,二是每个人的世界观不同对事情的看法不同) 不要轻易地去评价一个人,每个人背 ...
- HDU2035 - 人见人爱A^B
求A^B的最后三位数表示的整数. 说明:A^B的含义是"A的B次方" Input 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=1 ...
- JAVA基础知识复习小结
集合 Set集合 Set集合的基本特征是元素不允许重复.HashSet不保存元素顺序,LinkedHashSet用链表保持元素的插入顺序,TreeSet可定制排序规则. HashSet的底层是用Has ...
- C#中的string驻留池
刚开始学习C#的时候,就听说CLR对于String类有一种特别的内存管理机制:有时候,明明声明了两个String类的对象,但是他们偏偏却指向同一个实例.如下: String s1 = "He ...
- 60款开源云应用【Part 3】(60 Open Source Apps You Can Use in the Cloud)
60款开源云应用[Part 3](60 Open Source Apps You Can Use in the Cloud) 本篇翻译自http://www.datamation.com/open-s ...
- reactjs simple text editor
import React, { Component } from 'react' import PubSub from 'pubsub' import GlobalVars from 'globalV ...