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

首頁 > 編程 > Python > 正文

一些Python中的二維數組的操作方法

2019-11-25 17:34:00
字體:
來源:轉載
供稿:網友

需要在程序中使用二維數組,網上找到一種這樣的用法:
 

#創建一個寬度為3,高度為4的數組#[[0,0,0], # [0,0,0],# [0,0,0],# [0,0,0]]myList = [[0] * 3] * 4

但是當操作myList[0][1] = 1時,發現整個第二列都被賦值,變成

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

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

list * n―>n shallow copies of list concatenated, n個list的淺拷貝的連接

例:
 

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

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

一個元素都會改變整個列表:

所以需要用另外一種方式進行創建多維數組,以免淺拷貝:
 

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

之前的二維數組創建方式為:
 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永康市| 南皮县| 开阳县| 宕昌县| 团风县| 临朐县| 常山县| 白城市| 张掖市| 咸丰县| 怀柔区| 日照市| 根河市| 林周县| 安庆市| 龙里县| 宜君县| 黄平县| 恩平市| 咸丰县| 崇仁县| 宣武区| 德格县| 韶山市| 九龙坡区| 濮阳市| 吕梁市| 仙居县| 定西市| 佛山市| 邓州市| 吴江市| 湖口县| 繁峙县| 辽宁省| 吉林省| 四会市| 普格县| 铜川市| 鹿泉市| 昌黎县|