当我在输出下面运行代码时,我看来显示原始数组已被修改但是你可以看到数组本身没有被更改
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']]
答案 0 :(得分:1)
数组本身已更改,您在以下两行更改了它:
Arrs[x][y] = "2"
Arrs[x][y] = "1"
变量Arrs仍然是原始数组,将其传递给函数并不复制数组