国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

一些Python中的二維數(shù)組的操作方法

2020-02-23 01:02:11
字體:
供稿:網(wǎng)友

需要在程序中使用二維數(shù)組,網(wǎng)上找到一種這樣的用法:
 

#創(chuàng)建一個(gè)寬度為3,高度為4的數(shù)組#[[0,0,0], # [0,0,0],# [0,0,0],# [0,0,0]]myList = [[0] * 3] * 4

但是當(dāng)操作myList[0][1] = 1時(shí),發(fā)現(xiàn)整個(gè)第二列都被賦值,變成

[[0,1,0],[0,1,0],[0,1,0],[0,1,0]]

為什么...一時(shí)搞不懂,后面翻閱The Python Standard Library 找到答案

list * n—>n shallow copies of list concatenated, n個(gè)list的淺拷貝的連接

例:
 

>>> lists = [[]] * 3>>> lists[[], [], []]>>> lists[0].append(3)>>> lists[[3], [3], [3]]

[[]]是一個(gè)含有一個(gè)空列表元素的列表,所以[[]]*3表示3個(gè)指向這個(gè)空列表元素的引用,修改任何

一個(gè)元素都會(huì)改變整個(gè)列表:

所以需要用另外一種方式進(jìn)行創(chuàng)建多維數(shù)組,以免淺拷貝:
 

>>> lists = [[] for i in range(3)]>>> lists[0].append(3)>>> lists[1].append(5)>>> lists[2].append(7)>>> lists[[3], [5], [7]]

之前的二維數(shù)組創(chuàng)建方式為:
 

myList = [([0] * 3) for i in range(4)]

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 习水县| 抚顺县| 中宁县| 屏山县| 长岛县| 富蕴县| 库伦旗| 阳泉市| 颍上县| 宣威市| 社会| 利津县| 石屏县| 桐乡市| 鲁山县| 浦县| 巴南区| 阜阳市| 沙湾县| 三明市| 买车| 东至县| 铜梁县| 昌江| 阳信县| 乌兰县| 盐城市| 祁阳县| 吴旗县| 建始县| 武定县| 宜兰市| 岳池县| 镇平县| 驻马店市| 蓝山县| 哈密市| 秦皇岛市| 特克斯县| 黄梅县| 昌宁县|