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

您的位置:首頁技術文章
文章詳情頁

Python 中數組和數字相乘時的注意事項說明

瀏覽:7日期:2022-06-20 10:56:35
注意事項

[object] * n 的時候并沒有復制n-1個object,而是增加了n-1個對object的引用。

例子說明

目標:生成一個10*10且所有值都是0的二維數組

方法一:

[ [0] * 10] * 10方法二:

[ [0 for _ in range(10)] for _ in range(10)]

本以為兩種方法得到的結果是一樣,但是在使用時發現有些不一樣。如下面的代碼所示。

當僅僅更改a[2][2]的值的時候,a[k][2] (k取0到9)全部被更改成了4。

其實這是因為[object] * n 的時候并沒有復制n-1個object,而是增加了n-1個引用。

a = [ [0] * 10] * 10 b = [ [0 for _ in range(10)] for _ in range(10)] a[2][2] = 4 b[2][2] = 4 for i in a: print(i) print('--------') for i in b: print(i) [0, 0, 4, 0, 0, 0, 0, 0, 0, 0] [0, 0, 4, 0, 0, 0, 0, 0, 0, 0] [0, 0, 4, 0, 0, 0, 0, 0, 0, 0] [0, 0, 4, 0, 0, 0, 0, 0, 0, 0] [0, 0, 4, 0, 0, 0, 0, 0, 0, 0] [0, 0, 4, 0, 0, 0, 0, 0, 0, 0] [0, 0, 4, 0, 0, 0, 0, 0, 0, 0] [0, 0, 4, 0, 0, 0, 0, 0, 0, 0] [0, 0, 4, 0, 0, 0, 0, 0, 0, 0] [0, 0, 4, 0, 0, 0, 0, 0, 0, 0] -------- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 4, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

補充:python 中numpy數組與數組使用*相乘的效果

輸入:

import numpy as npb = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])a = np.array([150,270,150,270])b2 = b * aprint(b)print(a)print(b2)輸出:

[[ 1 2 3 4]

[ 5 6 7 8]

[ 9 10 11 12]]

[150 270 150 270]

[[ 150 540 450 1080]

[ 750 1620 1050 2160]

[1350 2700 1650 3240]]

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 北海市| 旺苍县| 娱乐| 遵义县| 唐山市| 枣庄市| 石门县| 吉安县| 固镇县| 浮山县| 南陵县| 禄丰县| 鹰潭市| 沙田区| 汉源县| 阿尔山市| 北辰区| 嘉鱼县| 城步| 乡宁县| 民县| 攀枝花市| 惠安县| 云安县| 镇原县| 买车| 南投市| 太和县| 长沙县| 翁源县| 皋兰县| 高雄市| 越西县| 如东县| 峨边| 遂溪县| 合水县| 东乌珠穆沁旗| 梓潼县| 阳东县| 永胜县|