国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 彰化县| 行唐县| 金平| 新河县| 满洲里市| 拜泉县| 抚宁县| 嘉定区| 凤凰县| 佛冈县| 武功县| 林口县| 当涂县| 松阳县| 延寿县| 贵南县| 汝阳县| 南通市| 南宫市| 天等县| 乳山市| 普兰县| 光山县| 新余市| 东乌| 庆阳市| 大连市| 湘潭市| 兰州市| 靖州| 河东区| 准格尔旗| 监利县| 搜索| 佛坪县| 永州市| 邛崃市| 固镇县| 红原县| 思茅市| 商水县|