我几乎没有编码经验,我所做的大部分工作都是用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]
当我刚刚开始循环(第一个打印命令)时,没有?
对不起,我真的不知道如何更准确地描述问题,我希望你能看出我的问题是什么。