聊聊Python中关于a=[[]]*3的反思
作者:zhongnanshu 发布时间:2021-09-08 05:12:46
标签:Python,a=[[]],3
Python 关于a=[[]]*3的反思
之前用python做了一个关于交通大数据的项目,由于之前比较赶进度,故现在会陆续更新对项目代码的一些反思。
1、
由此可以看出,a[0],a[1],a[2]指向的是同一个元素,[[]]*3表示在a中开辟三份地址,且地址相同。
2、
重新对a[0]赋值,故a[0]地址改变
3、
对a[0][0]赋值,即改变a[0],a[1],a[2]指向的地址里的内容
注: .append\+=\-=等都不会重新赋地址,=会重新赋地址 故而,下面两条语句都会出现问题:
在上述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,
评价:比起数组的,递归的,确实简洁
来源:https://blog.csdn.net/zhongnanshu/article/details/79344767
0
投稿
猜你喜欢
- 本文实例讲述了Python基础之函数基本用法与进阶。分享给大家供大家参考,具体如下:目标函数参数和返回值的作用函数的返回值 进阶函数的参数
- 在使用Python时,需要使用各种各样的库,通常会使用pip直接安装,这样最为简单也最方便。但最为崩溃的地方在于有时候速度出奇的慢,因为
- 看到标题就知道有逗比忘了密码。。。没错就是我。你也忘了密码? 不要着急!0x00:第一步:运行django shellpython3 man
- 饼图常用于统计学模块,画饼图用到的方法为:pie( )一、pie()函数用来绘制饼图pie(x, explode=None, labels=
- 本文实例为大家分享了Python实现图形用户界面计算器的具体代码,供大家参考,具体内容如下简易用户图形界面计算器设计思路:简易图形用户界面计
- 本文整理了一部分我们平时在项目中经常遇到的关于go语言JSON数据与结构体之间相互转换的问题及解决办法。基本的序列化首先我们来看一下Go语言
- 原因添加一个文件 config.ini, 理论上说该文件会以ini文件格式打开,但是不知道咋的手贱用Text格式打开了。.ini正确打开方式
- def getFibonacci(num): res=[0,1] a=0 b=1 for x in
- 我就废话不多说了,还是直接看代码吧!import matha=1;//边1b=1;//边2c=math.sqrt(2);//边3A=math
- tensorflow里面给出了一个函数用来读取图像,不过得到的结果是最原始的图像,是咩有经过解码的图像,这个函数为tf.gfile.Fast
- 什么是装饰器?装饰器(Decorator)相对简单,咱们先介绍它:“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的
- 1.嵌入 IFrame(/assets/img/anchor.svg)]()](https://gradio.app/sharing-you
- 具体内容如下所示:参考案例:import turtled=0for i in range(4): turtle.fd(200)
- pandas获取groupby分组里最大值所在的行方法如下面这个DataFrame,按照Mt分组,取出Count最大的那行import pa
- 本文实例为大家分享了JS实现用户管理系统的具体代码,供大家参考,具体内容如下效果图:html代码: <h1>
- 某些情况下:我们希望在一个SQL Server下访问另一个sqlserver数据库上的数据,或者访问其他oracle数据库上的数据,要想完成
- 1 词频统计1.1 简单词频统计1.导入jieba库并定义文本import jiebatext = "Python是一种高级编程语
- python中基本数据类型和其他的语言占用的内存空间大小有很大差别import sysa = 100b = Truec = 100Ld =
- 先在GitHub找到PHPMailer 并下载https://github.com/PHPMailer/PHPMailer//PHPMail
- 本文实例讲述了Python3的urllib.parse常用函数。分享给大家供大家参考,具体如下:1、获取url参数>>>