聊聊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 相关文章推荐
在树莓派2或树莓派B+上安装Python和OpenCV的教程
Mar 30 Python
python超简单解决约瑟夫环问题
May 12 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
May 25 Python
python爬取51job中hr的邮箱
May 14 Python
Python自动化运维和部署项目工具Fabric使用实例
Sep 18 Python
Python 元类实例解析
Apr 04 Python
详解pandas数据合并与重塑(pd.concat篇)
Jul 09 Python
Python实现K折交叉验证法的方法步骤
Jul 11 Python
jupyter notebook tensorflow打印device信息实例
Apr 20 Python
python如何变换环境
Jul 21 Python
django教程如何自学
Jul 31 Python
python字符串的多行输出的实例详解
Jun 08 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
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
一些常用的php简单命令代码集锦
2007/09/24 PHP
php disk_free_space 返回目录可用空间
2010/05/10 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
php图像生成函数之间的区别分析
2012/12/06 Javascript
JS清除IE浏览器缓存的方法
2013/07/26 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
基于python实现简单日历
2018/07/28 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
2020/04/25 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
New Balance美国官网:运动鞋和健身服装
2017/04/11 全球购物
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
女方回门宴答谢词
2014/01/14 职场文书
长安大学毕业生自我鉴定
2014/01/17 职场文书
论文诚信承诺书
2014/05/23 职场文书
社区科普工作方案
2014/06/03 职场文书
现场活动策划方案
2014/08/22 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
Python中for后接else的语法使用
2021/05/18 Python
详解Golang如何优雅的终止一个服务
2022/03/21 Golang