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

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

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

瀏覽:2日期: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 編程
相關文章:
主站蜘蛛池模板: 松原市| 海南省| 陈巴尔虎旗| 元朗区| 贵港市| 黄平县| 平利县| 张家口市| 宁津县| 乐陵市| 大石桥市| 兰州市| 罗源县| 东台市| 石河子市| 通江县| 乐安县| 周宁县| 奇台县| 新安县| 元江| 定南县| 平凉市| 锦州市| 云霄县| 清涧县| 平定县| 宣武区| 友谊县| 海南省| 上高县| 惠安县| 和龙市| 菏泽市| 原阳县| 诸暨市| 塔河县| 乐至县| 兰溪市| 贵南县| 汝城县|