聊聊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 random模块常用方法
Nov 03 Python
python实现根据用户输入从电影网站获取影片信息的方法
Apr 07 Python
python调试神器PySnooper的使用
Jul 03 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
django项目登录中使用图片验证码的实现方法
Aug 15 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
Nov 29 Python
wxPython修改文本框颜色过程解析
Feb 14 Python
django实现将修改好的新模型写入数据库
Mar 31 Python
python程序需要编译吗
Jun 19 Python
pytorch 常用函数 max ,eq说明
Jun 28 Python
Python hashlib模块的使用示例
Oct 09 Python
pyqt5打包成exe可执行文件的方法
May 14 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获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
CL vs ForZe BO5 第三场 2.13
2021/03/10 DOTA
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
JS继承 笔记
2011/07/13 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
文本框水印提示效果的简单实现代码
2014/02/22 Javascript
Centos6.8下Node.js安装教程
2017/05/12 Javascript
深入理解ES6 Promise 扩展always方法
2017/09/26 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
Vue递归实现树形菜单方法实例
2018/11/06 Javascript
js实现随机8位验证码
2020/07/24 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
在Mac OS上使用mod_wsgi连接Python与Apache服务器
2015/12/24 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
解决python3 网络请求路径包含中文的问题
2018/05/10 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
python 中如何获取列表的索引
2019/07/02 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
如何用python写个模板引擎
2021/01/14 Python
介绍一下你对SOA的认识
2016/04/24 面试题
学校做一个有道德的人活动方案
2014/08/23 职场文书
镇班子对照检查材料思想汇报
2014/09/24 职场文书
人事代理委托书
2014/09/27 职场文书
学习党章的体会
2014/11/07 职场文书
材料采购员岗位职责
2015/04/03 职场文书
小孩不笨观后感
2015/06/03 职场文书
呐喊读书笔记
2015/06/30 职场文书
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
用Python实现屏幕截图详解
2022/01/22 Python