一些Python中的二维数组的操作方法
作者:goldensun 发布时间:2022-10-21 16:14:42
标签:Python
需要在程序中使用二维数组,网上找到一种这样的用法:
#创建一个宽度为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)]


猜你喜欢
- 前言前言:想写这个代码的原因是因为实习的时候需要根据表格名创建对应的文件夹,如果只是很少个数文件夹的话,ctrl+shift+n还可以接受吧
- 最简单的方法:取整后判断是否和原值相等!javascript的取整函数是:parseIntif(parseInt(value)==value
- Click 是用 Python 写的一个第三方模块,用于快速创建命令行。我们知道,Python 内置了一个 Argparse 的标准库用于创
- css加载器在webpack中,所有的资源(js文件、css文件、模板文件,图片文件等等)都被看成是一个模块,因此多有的资源都是可以被加载的
- 本文实例讲述了python基于windows平台锁定键盘输入的方法。分享给大家供大家参考。具体分析如下:pywin32中没有BlockInp
- 目录合理的创建索引设置数据库持久连接减少SQL的执行次数仅获取需要的字段数据使用批量创建、更新和删除,不随意对结果排序参考网址:Django
- 在实际编程开发中,我们会使用到各类的加密算法来对数据和信息进行加密。比如密码中比较常见的MD5加密,以及AES加密等等。对于密码认证来说,M
- 一,MySQL8.0.12版本安装步骤。1,下载https://dev.mysql.com/get/Downloads/MySQL-8.0/
- 假设你的变量叫做 MyArray,我们可作如下处理:Dim strDim strDelimiterstrDelimite
- 前言Always On 可用性组活动辅助功能包括支持在辅助副本上执行备份操作。 备份操作可能会给 I/O 和 CPU 带来很大的压力(使用备
- 项目开发中,前端在配置后端api域名时很困扰,常常出现:本地开发环境: api-dev.demo.com测试环境: api-test.dem
- python用正则表达式提取中文Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后
- 需求:NMS中的IOU相关,是选择一个最大或者可信度最高的框框保留。而我们现在试需要将重叠框框合并为一个大的框框,所以不能直接用上面的。并且
- 注:因为最近想用一下Python做一些简单小游戏的开发作为项目练手之用,而Pygame模块里面提供了大量的有用的方法和属性。今天我们就在之前
- Azkaban是什么?Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺
- 本文实例为大家分享了vue数据请求拦截的具体代码,供大家参考,具体内容如下在src文件夹下创建utils文件夹同时在文件夹下创建reques
- 本文实例讲述了python标准算法实现数组全排列的方法,代码来自国外网站。分享给大家供大家参考。具体分析如下:从n个不同元素中任取m(m≤n
- []*int是一个指向指针的切片,本质上是切片,只不过切片里面存放的元素是指针;*[]int是一个指向切片的指针,本质上是指针,可以用*来获
- python是很容易上手的编程语言,但是有些时候使用python编写的程序并不能保证其运行速度(例如:while 和 for),这个时候我们
- 重装电脑,在windows和虚拟机里面的Ubuntu里都安装了Pycharm专业版,安装的时候我都选择了vim插件,装好之后打开发现ctrl