聊聊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 相关文章推荐
centos 下面安装python2.7 +pip +mysqld
Nov 18 Python
浅谈插入排序算法在Python程序中的实现及简单改进
May 04 Python
python版本坑:md5例子(python2与python3中md5区别)
Jun 20 Python
Python3.6实现连接mysql或mariadb的方法分析
May 18 Python
在pycharm中使用git版本管理以及同步github的方法
Jan 16 Python
Python Flask框架扩展操作示例
May 03 Python
python twilio模块实现发送手机短信功能
Aug 02 Python
基于python二叉树的构造和打印例子
Aug 09 Python
如何使用Python发送HTML格式的邮件
Feb 11 Python
python 使用elasticsearch 实现翻页的三种方式
Jul 31 Python
python 19个值得学习的编程技巧
Aug 15 Python
python单元测试之pytest的使用
Jun 07 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
php使用正则过滤js脚本代码实例
2014/05/10 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
php原生导出excel文件的两种方法(推荐)
2016/11/19 PHP
JQuery Tips(3) 关于$()包装集内元素的改变
2009/12/14 Javascript
javascript 闭包疑问
2010/12/30 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
angularjs实现过滤并替换关键字小功能
2017/09/19 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
python实现爬山算法的思路详解
2019/04/09 Python
Python实现最大子序和的方法示例
2019/07/05 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
《穷人》教学反思
2014/04/08 职场文书
一年级小学生评语大全
2014/12/25 职场文书
营销计划书范文
2015/01/17 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
会议室使用管理制度
2015/08/06 职场文书