
python的二维数组操作
#创建一个宽度为3,高度为4的数组
为什么...一时搞不懂,后面翻阅The Python Standard Library 找到答案
list * n—>n shallow copies of list concatenated, n个list的浅拷贝的连接
例:
[[]]是一个含有一个空列表元素的列表,所以[[]]*3表示3个指向这个空列表元素的引用,修改任何
一个元素都会改变整个列表:
所以需要用另外一种方式进行创建多维数组,以免浅拷贝:
之前的二维数组创建方式为:
发布日期:2022-03-03 10:44:11
浏览次数:1
分类:技术文章
本文共 679 字,大约阅读时间需要 2 分钟。
需要在程序中使用二维数组,网上找到一种这样的用法:#创建一个宽度为3,高度为4的数组
#[[0,0,0],# [0,0,0],# [0,0,0],# [0,0,0]]myList = [[0] * 3] * 4
但是当操作myList[0][1] = 1时,发现整个第二列都被赋值,变成
#[[0,0,0],# [0,0,0],# [0,0,0],# [0,0,0]]myList = [[0] * 3] * 4
为什么...一时搞不懂,后面翻阅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)]
转载地址:https://blog.csdn.net/yangjiegang8/article/details/51457588 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.36.149.39]2022年07月27日 05时03分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
最新文章
前端学习笔记42-轮廓阴影和圆角
2019-03-01 01:05:48
前端学习笔记41-盒子的大小
2019-03-01 01:05:48
前端学习笔记40-浏览器的默认样式
2019-03-01 01:05:48
前端学习笔记39-行内元素的盒模型
2019-03-01 01:05:47
前端学习笔记38-外边距的折叠
2019-03-01 01:05:47
前端学习笔记37-垂直方向的布局
2019-03-01 01:05:46
前端学习笔记36-水平方向的布局
2019-03-01 01:05:45
前端学习笔记35-外边距
2019-03-01 01:05:45
前端学习笔记34-内边距
2019-03-01 01:05:44
前端学习笔记33-边框
2019-03-01 01:05:44
前端学习笔记32-盒子模型
2019-03-01 01:05:43
前端学习笔记31-文档流
2019-03-01 01:05:42
前端学习笔记30-RGB&HSL
2019-03-01 01:05:41
前端学习笔记29-单位
2021-05-04
前端学习笔记28-选择器的权重
2021-05-04
前端学习笔记27-继承
2021-05-04
前端学习笔记26-伪元素
2021-05-04
前端学习笔记25-超链接的伪类
2021-05-04
前端学习笔记24-伪类选择器
2021-05-04
前端学习笔记23-属性选择器
2021-05-04