聊聊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实战之手写数字识别
Nov 01 Python
TF-IDF算法解析与Python实现方法详解
Nov 16 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
Jan 29 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 Python
解决python3中的requests解析中文页面出现乱码问题
Apr 19 Python
python系列 文件操作的代码
Oct 06 Python
Python如何使用argparse模块处理命令行参数
Dec 11 Python
python爬虫添加请求头代码实例
Dec 28 Python
Python 动态变量名定义与调用方法
Feb 09 Python
深入理解Python 多线程
Jun 16 Python
使用BeautifulSoup4解析XML的方法小结
Dec 07 Python
python多次执行绘制条形图
Apr 20 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 中include()与require()的对比
2006/10/09 PHP
PHP面向对象之旅:深入理解static变量与方法
2014/01/06 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
js 判断 enter 事件
2009/02/12 Javascript
javascript 时间比较实现代码
2009/10/28 Javascript
Js 刷新框架页的代码
2010/04/13 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
Vue封装的组件全局注册并引用
2019/07/24 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
python实现扫描日志关键字的示例
2018/04/28 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
Python爬虫开发与项目实战
2020/12/16 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
大学生创业计划书的格式要求
2013/12/29 职场文书
小学生迎国庆演讲稿
2014/09/05 职场文书
课外活动实习计划
2015/01/19 职场文书
司机岗位职责
2015/02/04 职场文书
好人好事新闻稿
2015/07/17 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
python编程实现清理微信重复缓存文件
2021/11/01 Python
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers