聊聊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实现将一个正整数分解质因数的方法分析
Dec 14 Python
用python实现的线程池实例代码
Jan 06 Python
python数据结构学习之实现线性表的顺序
Sep 28 Python
Python多进程方式抓取基金网站内容的方法分析
Jun 03 Python
Python通过2种方法输出带颜色字体
Mar 02 Python
django实现日志按日期分割
May 21 Python
python导入库的具体方法
Jun 18 Python
在Tensorflow中实现leakyRelu操作详解(高效)
Jun 30 Python
如何基于Python爬取隐秘的角落评论
Jul 02 Python
Python爬取网页信息的示例
Sep 24 Python
Python开发.exe小工具的详细步骤
Jan 27 Python
python中的random模块和相关函数详解
Apr 22 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+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
javascript new后的constructor属性
2010/08/05 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
javascript如何操作HTML下拉列表标签
2015/08/20 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
js常用的继承--组合式继承
2017/03/06 Javascript
React中的refs的使用教程
2018/02/13 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
nodejs通过钉钉群机器人推送消息的实现代码
2019/05/05 NodeJs
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
2020/08/13 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
Python subprocess模块常见用法分析
2018/06/12 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
出国导师推荐信
2014/01/16 职场文书
毕业生求职信的经典写法
2014/01/31 职场文书
工商干部先进事迹
2014/05/14 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
政工例会汇报材料
2014/08/26 职场文书
2014年网管工作总结
2014/12/11 职场文书
法学专业求职信范文
2015/03/19 职场文书
文员岗位职责范本
2015/04/16 职场文书