聊聊Python中关于a=[[]]*3的反思


Posted in Python onJune 02, 2021

Python 关于a=[[]]*3的反思

之前用python做了一个关于交通大数据的项目,由于之前比较赶进度,故现在会陆续更新对项目代码的一些反思。

1、

聊聊Python中关于a=[[]]*3的反思聊聊Python中关于a=[[]]*3的反思

由此可以看出,a[0],a[1],a[2]指向的是同一个元素,[[]]*3表示在a中开辟三份地址,且地址相同。

2、

聊聊Python中关于a=[[]]*3的反思聊聊Python中关于a=[[]]*3的反思

重新对a[0]赋值,故a[0]地址改变

3、

聊聊Python中关于a=[[]]*3的反思聊聊Python中关于a=[[]]*3的反思

对a[0][0]赋值,即改变a[0],a[1],a[2]指向的地址里的内容

注: .append\+=\-=等都不会重新赋地址,=会重新赋地址 故而,下面两条语句都会出现问题:

聊聊Python中关于a=[[]]*3的反思

在上述278、280两行的语句中,我都用到了[[]]*len(spts),所以只要其中某一个[]之后有.append或+=或其它不重新指向地址的行为,另外两个元素也会跟着改变。

Python a, b = b, a +b [Python3常见问题]

阅读文档发现的。

>>> # Fibonacci series:
... # the sum of two elements defines the next
... a, b = 0, 1
>>> while b < 10:
...     print(b)
...     a, b = b, a+b
...
1
1
2
3
5
8

他实际上就是:

c = a + b
a = b
b = c

其他应用

1. 交换

a, b = 0, 1
a, b = b, a

评价:省去了temp中间变量

2. 斐波那契

>>> a, b = 0, 1
>>> while b < 1000:
...     print(b, end=',')
...     a, b = b, a+b
...
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

评价:比起数组的,递归的,确实简洁

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的字典遍历备忘
Jan 17 Python
Python制作简单的网页爬虫
Nov 22 Python
python中的格式化输出用法总结
Jul 28 Python
Python 读取某个目录下所有的文件实例
Jun 23 Python
python 列表转为字典的两个小方法(小结)
Jun 28 Python
python框架django项目部署相关知识详解
Nov 04 Python
Django继承自带user表并重写的例子
Nov 18 Python
Python计算IV值的示例讲解
Feb 28 Python
Django限制API访问频率常用方法解析
Oct 12 Python
基于OpenCV的路面质量检测的实现
Nov 04 Python
Python Socket编程详解
Apr 25 Python
使用Django框架创建项目
Jun 10 Python
python内置进制转换函数的操作
Jun 02 #Python
Python 内置函数速查表一览
Jun 02 #Python
利用Python判断你的密码难度等级
Jun 02 #Python
Python标准库之typing的用法(类型标注)
只用50行Python代码爬取网络美女高清图片
这样写python注释让代码更加的优雅
Jun 02 #Python
上帝为你开了一扇窗之Tkinter常用函数详解
You might like
第四节 构造函数和析构函数 [4]
2006/10/09 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
js DOM 元素ID就是全局变量
2012/09/20 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
2015/03/01 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
2017/03/21 jQuery
详解react-router如何实现按需加载
2017/06/15 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
jquery实现吸顶导航效果
2020/01/08 jQuery
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
Python字符串格式化
2015/06/15 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
2017/11/14 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
python numpy数组中的复制知识解析
2020/02/03 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
瑞典轮胎在线:Tirendo.se
2018/06/21 全球购物
五年级语文教学反思
2014/01/30 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
交通事故代理词范文
2015/05/23 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python