在python中创建指定大小的多维数组方式

yipeiwu_com6年前Python基础

python中创建指定大小的二维数组,有点像C++中进行动态申请内存创建数组,不过相比较而言,python中更为简单一些。

创建n行m列的二维数组:

n = 2

m = 3

matrix = [None]*2

for i in range(len(matrix)):

matrix[i] = [0]*3

print(matrix)

当然也可以使用list comprehension的方式创建:

n = 2

m = 3

matrix = [[0]*m for i in range(n)]

print(matrix)

matrix[0][0] = 1

print(matrix)

对于创建三维甚至三维以上的数组,建议使用第一种方法,依次确定最高维、次高维以及最后一维,如果使用list comprehension会产生浅拷贝的问题。

n = 2

m = 3

k = 4

matrix = [None]*2

for i in range(len(matrix)):

matrix[i] = [0]*3

print(matrix)

 
for i in range(n):

for j in range(m):

matrix[i][j] = [1]*k

 
print(matrix)

以上这篇在python中创建指定大小的多维数组方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python标准库之循环器(itertools)介绍

在循环对象和函数对象中,我们了解了循环器(iterator)的功能。循环器是对象的容器,包含有多个对象。通过调用循环器的next()方法 (__next__()方法,在Python 3....

python数字图像处理之骨架提取与分水岭算法

python数字图像处理之骨架提取与分水岭算法

骨架提取与分水岭算法也属于形态学处理范畴,都放在morphology子模块内。 1、骨架提取 骨架提取,也叫二值图像细化。这种算法能将一个连通区域细化成一个像素的宽度,用于特征提取和目标...

如何使用Flask-Migrate拓展数据库表结构

前言 在我们用 sqlchemy 模块创建完几个表时,如果在实际生产环境中,需要对表结构进行更改,应该怎么办呢?总不能把表删除了吧,这样数据就会丢失了。 更好的解决办法是使用数据库迁移框...

浅谈pandas用groupby后对层级索引levels的处理方法

浅谈pandas用groupby后对层级索引levels的处理方法

层及索引levels,刚开始学习pandas的时候没有太多的操作关于groupby,仅仅是简单的count、sum、size等等,没有更深入的利用groupby后的数据进行处理。近来数据...

django组合搜索实现过程详解(附代码)

django组合搜索实现过程详解(附代码)

一.简介 # 组合搜索 # 技术方向:自动化,测试,运维,前端 # 分类:Python Linux JavaScript OpenStack Node.js GO #...