久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

聊聊Python中關(guān)于a=[[]]*3的反思

瀏覽:40日期:2022-06-17 17:08:17
Python 關(guān)于a=[[]]*3的反思

之前用python做了一個關(guān)于交通大數(shù)據(jù)的項目,由于之前比較趕進度,故現(xiàn)在會陸續(xù)更新對項目代碼的一些反思。

1、

聊聊Python中關(guān)于a=[[]]*3的反思 聊聊Python中關(guān)于a=[[]]*3的反思

由此可以看出,a[0],a[1],a[2]指向的是同一個元素,[[]]*3表示在a中開辟三份地址,且地址相同。

2、

聊聊Python中關(guān)于a=[[]]*3的反思 聊聊Python中關(guān)于a=[[]]*3的反思

重新對a[0]賦值,故a[0]地址改變

3、

聊聊Python中關(guān)于a=[[]]*3的反思 聊聊Python中關(guān)于a=[[]]*3的反思

對a[0][0]賦值,即改變a[0],a[1],a[2]指向的地址里的內(nèi)容

注: .append+=-=等都不會重新賦地址,=會重新賦地址 故而,下面兩條語句都會出現(xiàn)問題:

聊聊Python中關(guān)于a=[[]]*3的反思

在上述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...112358

他實際上就是:

c = a + ba = bb = c其他應(yīng)用

1. 交換

a, b = 0, 1a, 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)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 西宁市| 阜平县| 吴忠市| 施甸县| 库尔勒市| 常宁市| 会同县| 林周县| 桃园市| 图们市| 砀山县| 镇江市| 丰原市| 三原县| 阳山县| 左云县| 宜兰市| 通城县| 汾西县| 天峨县| 临汾市| 偃师市| 宝坻区| 洪湖市| 宣化县| 浦东新区| 米脂县| 海伦市| 弥渡县| 静乐县| 庆安县| 鄄城县| 昌邑市| 恩平市| 金堂县| 勐海县| 米林县| 凯里市| 贞丰县| 清流县| 乌拉特前旗|