当我运行下面的代码时,我得到的输出显示原始数组已经被修改,但是正如您所看到的,数组本身没有被更改
Arr = [["1","1","2"],["1","1","1"]]
def DoSomethingify(Arrs):
for x in range(0, len(Arrs)):
for y in range(0, len(Arrs[x])):
if (Arrs[x][y] == "1"):
Arrs[x][y] = "2"
else:
Arrs[x][y] = "1"
print(Arrs)
for b in range(0, 9):
DoSomethingify(Arr)
print(Arr)
输出:
[['2', '2', '1'], ['2', '2', '2']]
[['1', '1', '2'], ['1', '1', '1']]
[['2', '2', '1'], ['2', '2', '2']]
[['1', '1', '2'], ['1', '1', '1']]
[['2', '2', '1'], ['2', '2', '2']]
[['1', '1', '2'], ['1', '1', '1']]
[['2', '2', '1'], ['2', '2', '2']]
[['1', '1', '2'], ['1', '1', '1']]
[['2', '2', '1'], ['2', '2', '2']]
[['2', '2', '1'], ['2', '2', '2']]
数组本身已更改,您在以下两行更改了它:
变量Arrs仍然是原始数组,将其传递给函数并不会复制数组
相关问题 更多 >
编程相关推荐