python的二维数组操作
需要在程序中使用二维数组,网上找到一种这样的用法:
1
2
3
4
5
6
|
#创建一个宽度为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的浅拷贝的连接
例:
1
2
3
4
5
6
|
>>> lists = [[]] * 3
>>> lists
[[], [], []]
>>> lists[ 0 ].append( 3 )
>>> lists
[[ 3 ], [ 3 ], [ 3 ]]
|
[[]]是一个含有一个空列表元素的列表,所以[[]]*3表示3个指向这个空列表元素的引用,修改任何
一个元素都会改变整个列表:
所以需要用另外一种方式进行创建多维数组,以免浅拷贝:
1
2
3
4
5
6
|
>>> lists = [[] for i in range ( 3 )]
>>> lists[ 0 ].append( 3 )
>>> lists[ 1 ].append( 5 )
>>> lists[ 2 ].append( 7 )
>>> lists
[[ 3 ], [ 5 ], [ 7 ]]
|
之前的二维数组创建方式为:
1
|
myList = [([ 0 ] * 3 ) for i in range ( 4 )]
|
http://www.cnblogs.com/btchenguang/
python的二维数组操作相关推荐
- boost::python模块包装几个 C++ 函数 将二维数组操作为采用 NumPy 数组的 Python 函数作为参数
boost::python模块包装几个 C++ 函数 将二维数组操作为采用 NumPy 数组的 Python 函数作为参数 实现功能 C++实现代码 实现功能 boost::python模块包装几个 ...
- python输入二维数组_Python输入二维数组方法
Python输入二维数组方法 前不久对于Python输入二维数组有些不解,今日成功尝试,记以备忘.这里以输入1-9,3*3矩阵为例 n=int(input()) line=[[0]*n]*n for ...
- python读取二维数组的行列数_Python获取二维数组的行列数的2种方法
Python获取二维数组的行列数的2种方法 这篇文章主要介绍了Python获取二维数组的行列数的2种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考 ...
- C语言 基础60题(2)——二维数组操作
本篇内容主要是是对二维数组操作,掌握二维数组作为参数传递时,如何用指针表示. 第10题 double sum_2diagonal(double* array_2d, unsigned int m, ...
- python 构件二维数组_通过这四个构件块来升级您的javascript数组
python 构件二维数组 Arrays in JavaScript are something special, as they leverage the prototype feature of ...
- Python练习——二维数组中每行最大值和每行和
Python练习--二维数组中每行最大值和每行和 求一个3*3二维数组中每行的最大值和每行的和. 输入格式: 在一行中输入9个小于100的整数,其间各以一个空格间隔 输出格式: 输出3行3列的二维数组 ...
- 【python】二维数组按照某行或某列排序(numpy lexsort)
这里介绍的排序方法主要是针对最后一行和最后一列,如果要指定某一行目前没有很好的方法,有个笨办法可以先把排序的该列(或行)换到最后,排序后再换回来 曾经以为排序只能使用list的sort函数,后来发现a ...
- python 对二维数组赋值
最近做力扣遇到一个问题, obstacleGrid=[[0],[1]]m = len(obstacleGrid) n = len(obstacleGrid[0]) # 需要考虑m=1 n=1dp = ...
- python二维数组怎么写_python的二维数组操作
需要在程序中使用二维数组,网上找到一种这样的用法: #创建一个宽度为3,高度为4的数组 #[[0,0,0], # [0,0,0], # [0,0,0], # [0,0,0]] myList = [[0 ...
最新文章
- 14年12月CCF真题1-门禁系统
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组缺口箱图(notch boxplot)实战
- MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)...
- 机器学习算法基础——线性回归
- OpenCV中GPU模块使用
- C++细节系列(零):零散记录
- charles 安装 ssl_最全面的解决Charles手机抓包的证书问题(步骤非常详细)
- 炫酷科技感超前的电子产品发布广告海报psd分层模板,带给你炫酷的未来感
- 四针角oled屏连接arduino_和孩子一起做个显示温湿度的oled屏桌面摆件[青创小电视]...
- 关于Java的this关键字
- centOS安装telnet(在线和rpm包安装)
- java8 stream中 forEach和 forEachOrdered 当parallel时候执行过程安全问题深入理解
- 操作系统的位数决定寻址空间
- 从韩国的大数据之殇,看技术的产业价值与功能价值
- 笔记本电脑摄像头无故不能使用的问题解决方法
- STM32 ESP8266 无线模块使用
- 用微博图片反查上传者信息
- 【市场调查与预测】廊坊师范学院大学生洗发水使用情况调查(课程论文)
- 机器学习在信息安全领域的应用现状和畅想
- pytorch报错:PicklingError: Can’t pickle <function at 0x000001EA6923EAF0>: attribute lookup on main fai