聊聊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基础教程之获取本机ip数据包示例
Feb 10 Python
python字典序问题实例
Sep 26 Python
python获取局域网占带宽最大3个ip的方法
Jul 09 Python
python中根据字符串调用函数的实现方法
Jun 12 Python
Python的Flask框架中的Jinja2模板引擎学习教程
Jun 30 Python
Pandas中resample方法详解
Jul 02 Python
实例详解Python装饰器与闭包
Jul 29 Python
解决python多行注释引发缩进错误的问题
Aug 23 Python
python快速排序的实现及运行时间比较
Nov 22 Python
python re模块匹配贪婪和非贪婪模式详解
Feb 11 Python
浅析Python 条件控制语句
Jul 15 Python
python os.rename实例用法详解
Dec 06 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
UCenter 批量添加用户的php代码
2012/07/17 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
[02:27]刀塔重生降临
2015/10/14 DOTA
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
Python内置函数的用法实例教程
2014/09/08 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
实例讲解Python爬取网页数据
2018/07/08 Python
pandas重新生成索引的方法
2018/11/06 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
iHerb俄罗斯:维生素、补品和天然产品
2020/07/09 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
经理职责范文
2013/11/08 职场文书
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
法人授权委托书样本
2014/09/19 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
孔子观后感
2015/06/08 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers