Python - 作为浅拷贝的list对象乘法
运行下面这段代码
# !/usr/bin/env python3 # -*- coding=utf-8 -*- temp_a = [[0]*2]*3 temp_b = [[0]*2 for i in range(3)] print(temp_a) print(temp_b) print(id(temp_a[0]) == id(temp_a[1])) print(id(temp_b[0]) == id(temp_b[1])) temp_a[0][0] = 1 temp_b[0][0] = 1 print(temp_a) print(temp_b)
会得到奇妙的结果
[[0, 0], [0, 0], [0, 0]] [[0, 0], [0, 0], [0, 0]] True False [[1, 0], [1, 0], [1, 0]] [[1, 0], [0, 0], [0, 0]]
temp_a和temp_b的形式是一样的,但是其中列表对象的地址有问题。
重点在输出的第5行,反映了程序第13行的修改。对temp_a中某个对象的修改会影响到所有对象,而temp_b不会。
可以看出list对象的乘法操作是浅拷贝,在使用时要特别注意。
Python - 作为浅拷贝的list对象乘法的更多相关文章
- 深度解析:python之浅拷贝与深拷贝
深度解析python之浅拷贝与深拷贝 本文包括知识点: 1.copy与deepcopy 2.可变类型与不可变类型 1.copy与deepcopy 在日常python编码过程中,经常会遇见变量的赋值.这 ...
- Python迭代器,可迭代对象,生成器
迭代器 迭代器(iterator)有时又称游标(cursor)是程式设计的软件设计模式,可在容器物件(container,例如链表或阵列)上遍访的界面,设计人员无需关心容器物件的内存分配的实现细节. ...
- Python中的可迭代对象与迭代器对象
刚刚学习Python,对“可迭代对象”和"迭代器对象"的个人理解,不知道对不对. 1.几个概念 (1)迭代工具:包括for循环.列表解析.in成员关系测试.....等等在内的,用于 ...
- python学习笔记4(对象/引用;多范式; 上下文管理器)
### Python的强大很大一部分原因在于,它提供有很多已经写好的,可以现成用的对象 21. 动态类型:对象/引用 对象和引用: 对象是储存在内存中的实体,对象名只是指向这一对象的引用(refere ...
- python中的类,对象,方法,属性等介绍
注:这篇文章写得很好.加底纹的是我自己的理解 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...
- Python标准库05 存储对象 (pickle包,cPickle包)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 谢谢reverland纠错 在之前对Python对象的介绍中 (面向对象的基本概念 ...
- Python 读写文件和file对象(转)
1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt ...
- Python基础教程之List对象 转
Python基础教程之List对象 时间:2014-01-19 来源:服务器之家 投稿:root 1.PyListObject对象typedef struct { PyObjec ...
- Python(2.7.6) 函数对象与闭包
在 Python 中,一切皆对象.函数也是对象,它可以赋值给其他变量,也可以当作参数传递. lambda 表达式可以创建函数对象,在 Python 中,lambda 表达式的函数体只能有唯一的一条语句 ...
随机推荐
- Zabbix-server及zabbix-web安装手册(centos7)
注:本实验环境在centos7mini下实验,具体相关软件版本最好一致,避免依赖关系缺失. 当然也可以新建用户zabbix(不使用root,避免安全隐患),在zabbix下执行操作,加sudo提升权限 ...
- NX二次开发-UFUN编辑添加哪些图层UF_LAYER_edit_category_layer
1 NX11+VS2013 2 3 #include <uf.h> 4 #include <uf_layer.h> 5 6 7 UF_initialize(); 8 9 //创 ...
- (转)Java安全通信:HTTPS与SSL
转:http://www.cnblogs.com/devinzhang/archive/2012/02/28/2371631.html 1. HTTPS概念 1)简介 HTTPS(全称:Hyperte ...
- CodeForces-1244C-The Football Season-思维
The football season has just ended in Berland. According to the rules of Berland football, each matc ...
- AtCoder ABC 126F XOR Matching
题目链接:https://atcoder.jp/contests/abc126/tasks/abc126_f 题目大意 给定两个整数 M 和 K ,用小于 2M 的的所有自然数,每个两个,用这些数排成 ...
- Python3数据科学入门与实践✍✍✍
Python3数据科学入门与实践 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可 ...
- HTML_页面注册案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- flink widow&window funcion&水印
在定义了窗口分配器之后,我们需要为每一个窗口明确的指定计算逻辑,这个就是窗口函数要做的事情, 当系统决定一个窗口已经准备好执行之后,这个窗口函数将被用来处理窗口中的每一个元素(可能是 分组的). 谁可 ...
- Spark SQL设计
- vim 命令行模式 操作指令
复制n行: nyy 粘贴:p 剪切(删除)n行: ndd 剪切 ( 删除 ) n个字符:nx 移动光标到第一行 : gg 移动光标到最后一行 : G 设置格式 :gg=G 返回上一次操作前(撤销 ...