python创建二维空列表_在python 3中基于一个数字创建一个二维数组/列表以创建一个空白矩阵...

我正在尝试创建一个可以根据一个数字动态更改的2D数组/列表,所以说我输入数字3,它会像这样创建一个二维数组,有三行三列。输入10将创建一个包含10列和10行的数组等。array = [

[0, 0, 0]

[0, 0, 0]

[0, 0, 0]

]

我已经研究了很多谷歌和堆栈溢出,也没有出现实际帮助我很多的结果。

我目前所拥有的是一个函数,它接受一个参数(numberOfCells)并使用for循环来尝试填充数组,它返回TypeError: 'int' object is not iterable,所以我愿意接受以其他方式实现它的建议

以下两个代码块都将使用此类创建一个新单元格class Cell:

def __init__(self, id):

self.infected = False

self.dead = False

self.id = id

def printId(self):

print(self.id)

def createTestingEnv(numberOfCells):

# creates a simulated cell tissue

row = list(range(numberOfCells + 1)) # +1 because range uses < not <=

column = numberOfCells

env = [[]]

for i in range(numberOfCells):

for j in range(numberOfCells):

env.append(list(i))

# env = list([row] * column) # create a 2D array/list based on number of cells

print(env)

createTestingEnv(3)

(上图)此代码返回错误,因此我不知道这是否是正确的方法。

(下面)这段代码的作品,但它不会产生我想要的结果def createTestingEnv(numberOfCells):

# creates a simulated cell tissue

row = list(range(numberOfCells + 1)) # +1 because range uses < not <=

column = numberOfCells

env = list([row] * column) # create a 2D array/list based on number of cells

for i in range(numberOfCells):

for j in range(numberOfCells):

k = Cell(i + j)

k.printId()

createTestingEnv(10)

我是python的新手,有什么我应该做的不同吗?或者我采取了一种完全错误的做法?如果是这样,我该怎么做呢?

谢谢,阿舍尔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值