聊聊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 相关文章推荐
win系统下为Python3.5安装flask-mongoengine 库
Dec 20 Python
Python编程实现的简单Web服务器示例
Jun 22 Python
基于Python代码编辑器的选用(详解)
Sep 13 Python
浅谈Pandas中map, applymap and apply的区别
Apr 10 Python
python2.7实现FTP文件下载功能
Apr 15 Python
ActiveMQ:使用Python访问ActiveMQ的方法
Jan 30 Python
pandas基于时间序列的固定时间间隔求均值的方法
Jul 04 Python
详解Python中正则匹配TAB及空格的小技巧
Jul 26 Python
python实现淘宝购物系统
Oct 25 Python
PyTorch学习:动态图和静态图的例子
Jan 06 Python
python使用XPath解析数据爬取起点小说网数据
Apr 22 Python
Python自动操作神器PyAutoGUI的使用教程
Jun 16 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
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
2013/04/15 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
JS简单获取当前年月日星期的方法示例
2017/02/07 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
使用python实现baidu hi自动登录的代码
2013/02/10 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python正则捕获操作示例
2017/08/19 Python
对python 树状嵌套结构的实现思路详解
2019/08/09 Python
python多线程实现TCP服务端
2019/09/03 Python
pyqt5、qtdesigner安装和环境设置教程
2019/09/25 Python
Python数组并集交集补集代码实例
2020/02/18 Python
python中安装django模块的方法
2020/03/12 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
Html5+CSS3+EL表达式问题小结
2020/12/19 HTML / CSS
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
全球领先的在线cosplay服装商店:RoleCosplay
2020/01/18 全球购物
端口镜像是怎么实现的
2014/03/25 面试题
英语专业毕业个人求职自荐信
2013/09/21 职场文书
求职信内容考虑哪几点
2013/10/05 职场文书
社区活动邀请函范文
2014/01/29 职场文书
英语教研活动总结
2014/07/02 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
导游词之崇武古城
2019/10/07 职场文书
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技