聊聊Python中關于a=[[]]*3的反思
Python 關于a=[[]]*3的反思
之前用python做了一個關于交通大數(shù)據(jù)的項目,由于之前比較趕進度,故現(xiàn)在會陸續(xù)更新對項目代碼的一些反思。
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\+=\-=等都不會重新賦地址,=會重新賦地址 故而,下面兩條語句都會出現(xiàn)問題:

在上述278、280兩行的語句中,我都用到了[[]]*len(spts),所以只要其中某一個[]之后有.append或+=或其它不重新指向地址的行為,另外兩個元素也會跟著改變。
Python a, b = b, a +b [Python3常見問題]
閱讀文檔發(fā)現(xiàn)的。
>>> # 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,
評價:比起數(shù)組的,遞歸的,確實簡潔
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
利用Python實現(xiàn)生成顏色表(color chart)
在做色彩相關的算法分析時候,經(jīng)常需要使用規(guī)則的顏色表來進行輔助,本文就來利用numpy和opencv生成顏色表并保存為圖片,需要的可以參考一下2023-05-05
Django項目中動態(tài)設置靜態(tài)文件路徑的全過程
這篇文章主要給大家介紹了關于Django項目中動態(tài)設置靜態(tài)文件路徑的相關資料,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-02-02
淺談pytorch卷積核大小的設置對全連接神經(jīng)元的影響
今天小編就為大家分享一篇淺談pytorch卷積核大小的設置對全連接神經(jīng)元的影響,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Django?后端數(shù)據(jù)傳給前端的實現(xiàn)示例
本文主要介紹了Django?后端數(shù)據(jù)傳給前端的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-12-12

