91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中[0]*2與0*2的區別有哪些

發布時間:2021-05-10 14:14:07 來源:億速云 閱讀:225 作者:小新 欄目:開發技術

這篇文章主要介紹python中[0]*2與0*2的區別有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

python可以做什么

Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。

程序用例:

a=[[1,2],[4,5]]
b=[0]*len(a)
d=0*len(a)
print("len(a)=",len(a))
print("b=",b)
print("d=",d)
print(2*[1,2])
print([1,2]*2)

輸出如下:

len(a)= 2

b= [0, 0]

d= 0

[1, 2, 1, 2]

[1, 2, 1, 2]

可以看出在矩陣后面程一個數等于將其復制幾次。

補充:創建二維數組 以及 python中[0 ]* n與[0 for _ in range(n)]的區別與聯系

一、淺拷貝于深拷貝

直接賦值:其實就是對象的引用(別名)。

淺拷貝(copy):拷貝父對象,不會拷貝對象的內部的子對象。

深拷貝(deepcopy): copy 模塊的 deepcopy 方法,完全拷貝了父對象及其子對象。

二、區別

[ 0 ] * n 是淺拷貝, 也就是把一個列表重復了 n 次,是 = 號復制(注意不是淺拷貝,= 與淺拷貝的list id是不同的);[[0]*n]*m 這種方式是直接將 [0]*n 復制了m遍

[0 for _ in range(n)] 才是創建,深拷貝

n = 4
dp1 = [0] * n
dp2 = [0 for _ in range(n) ]
print('dp1:',dp1)
print('dp2:',dp2)

這兩者的效果是一樣的

dp1: [0, 0, 0, 0]

dp2: [0, 0, 0, 0]

二維數組,創建一個3*4的矩陣,元素全為0,修改(0,2)個元素的值為3,則提供三種方法如下:

m,n = 3,4
dp1 = [[0] * n ] * m
dp2 = [[0 for _ in range(n) ] for _ in range(m)]
dp3 = [[0] * n for _ in range(m)]
dp1[0][2] = 3
dp2[0][2] = 3
dp3[0][2] = 3
print('dp1:',dp1)
print('dp2:',dp2)
print('dp2:',dp3)

結果為:

dp1: [[0, 0, 3, 0], [0, 0, 3, 0], [0, 0, 3, 0]]

dp2: [[0, 0, 3, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

dp2: [[0, 0, 3, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

第一種方法不行,每一行的改變都會改變其他行

第二種、第三種方法均可

以上是“python中[0]*2與0*2的區別有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普定县| 井陉县| 呼玛县| 永安市| 荔浦县| 叙永县| 即墨市| 胶州市| 土默特右旗| 瑞金市| 海林市| 介休市| 西乡县| 化州市| 白城市| 松原市| 南靖县| 同德县| 集安市| 富顺县| 轮台县| 永济市| 长兴县| 宜宾县| 名山县| 全南县| 青浦区| 阳城县| 乌兰察布市| 承德县| 石柱| 哈巴河县| 安西县| 福泉市| 马鞍山市| 湖州市| 乌恰县| 水富县| 南丹县| 康平县| 福建省|