聊聊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使用datetime模块计算各种时间间隔的方法
Mar 24 Python
使用Python脚本来控制Windows Azure的简单教程
Apr 16 Python
浅谈python对象数据的读写权限
Sep 12 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
详解重置Django migration的常见方式
Feb 15 Python
Python实现语音识别和语音合成功能
Sep 20 Python
使用python快速在局域网内搭建http传输文件服务的方法
Nov 14 Python
Python简单实现区域生长方式
Jan 16 Python
使用Python实现Wake On Lan远程开机功能
Jan 22 Python
Python为何不支持switch语句原理详解
Oct 21 Python
python 对xml解析的示例
Feb 27 Python
python微信智能AI机器人实现多种支付方式
Apr 12 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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
JavaScript实现的CRC32函数示例
2016/11/23 Javascript
js倒计时显示实例
2016/12/11 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
python下MySQLdb用法实例分析
2015/06/08 Python
Python小进度条显示代码
2019/03/05 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
基于pycharm 项目和项目文件命名规则的介绍
2021/01/15 Python
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
大学毕业生工作的自我评价
2013/10/01 职场文书
幼儿园春游活动方案
2014/01/19 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
2014个人年度工作总结
2014/12/15 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
邀请函样本
2015/02/02 职场文书
行政二审代理词
2015/05/25 职场文书
谢师宴家长答谢词
2015/09/30 职场文书
2016年安康杯竞赛活动总结
2016/04/05 职场文书
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL