按循环填充多维列表

时间:2018-04-25 20:03:05

标签: python arrays list loops

我几乎没有编码经验,我所做的大部分工作都是用VBA完成的,而且你有阵列。在python上你显然不使用数组而是列表列表如果我没有弄错,我似乎遇到了麻烦。这是我所做的一个例子:

array=[["string"]*2]*2

所以基本上我想创建一个2x2数组。我想用循环来填充,对于最小的例子,我用字符串b + a:

填充它
for b in range(0,2):
    for a in range(0,2):
        array[b][a]=b,"+",a
        print(array[b][a])

print(array[0][0], array[1][0],array[0][1], array[1][1])

第一个打印命令给出了我的预期:

(0, '+', 0)
(0, '+', 1)
(1, '+', 0)
(1, '+', 1)

但第二个打印命令很奇怪:

(1, '+', 0) (1, '+', 0) (1, '+', 1) (1, '+', 1)

当打印数组[0] [0]时,我希望得到(0,'+',0),但我得到了我期望的数组[1] [0]。看起来当在循环中使用print时,我得到了我期望的结果但是如果我在循环之外打印完全相同的元素,我会得到奇怪的结果。

array[0][0]

应与

具有完全相同的内容
array[b][a]

当我刚刚开始循环(第一个打印命令)时,没有?

对不起,我真的不知道如何更准确地描述问题,我希望你能看出我的问题是什么。

0 个答案:

没有答案