如何在不导入任何库的情况下编写Python二维数组?
生成指定二维数组的代码修改
你的目标是生成这样的二维数组:
[[0,1,0], [0,2,0], [0,3,0]]
先看你现有的代码:
a=[] for y in range (3): row=[] for x in range (3): row.append(0) a.append(row)
这段代码存在两个问题:
a.append(row)被放在内层循环里,导致每给row添加一个元素就把当前行加入一次a,最终a会有9个元素,而非预期的3行- 没有设置每行中间位置的目标数值(1、2、3)
基于你的代码结构修改,保留原有代码框架的同时实现需求:
a=[] for y in range (3): row=[] for x in range (3): # 中间列(x=1)添加对应行号+1的数值,其余列添加0 if x == 1: row.append(y + 1) else: row.append(0) # 整行构造完成后再添加到二维数组,移到内层循环外 a.append(row)
修改说明:
- 把
a.append(row)移到内层循环结束后,确保每行只被添加一次到a中 - 在内层循环里通过判断列索引
x,为中间列赋值y+1(对应1、2、3),其余列保持0
运行修改后的代码,a就会成为你期望的二维数组。
内容的提问来源于stack exchange,提问作者Lil Gun
相关产品推荐
相关产品推荐

