python - 如何更改数组的数据而不丢失python中的初始数据?
问题描述
我试图在下面执行这个 python 代码,我看到二维数组 "grid" 的数据在第四个打印语句之后发生了变化。我不明白为什么它会改变。有人可以帮帮我吗?
print(grid)
for i in range(len(grid)):
grid[i]=list(grid[i])
print(grid)
set1=grid
print(grid)
for i in range(len(set1)):
for j in range(len(set1[i])):
set1[i][j]='O'
print(grid)
调试输出:
['.......', '...O...', '....O..', '.......', 'OO.....', 'OO.....']
[['.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', 'O', '.', '.', '.'], ['.', '.', '.', '.', 'O', '.', '.'], ['.', '.', '.', '.', '.', '.', '.'], ['O', 'O', '.', '.', '.', '.', '.'], ['O', 'O', '.', '.', '.', '.', '.']]
[['.', '.', '.', '.', '.', '.', '.'], ['.', '.', '.', 'O', '.', '.', '.'], ['.', '.', '.', '.', 'O', '.', '.'], ['.', '.', '.', '.', '.', '.', '.'], ['O', 'O', '.', '.', '.', '.', '.'], ['O', 'O', '.', '.', '.', '.', '.']]
[['O', 'O', 'O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O', 'O', 'O']]
解决方案
推荐阅读
- javascript - (Javascript) 两个函数输出之间的随机整数
- android - 迁移新的 Place SDK 客户端后获取 LatLng 参数为空
- python - 从散点图中删除渐近线并在其上绘制线
- sql-server - 如何仅在平面文件列之一中加载具有最高值的数据?
- opengl - OpenGL Shader 中粒子涡旋的平移
- javascript - javascript `Infinity` 值的有效用例是什么?
- php - CyberSource 拒绝某些金额范围的订单,代码为 203
- regex - 在python的正则表达式中使用过滤器获取组
- c# - 尝试激活 yyy 时无法解析类型 xxx 的服务
- php - 如何将登录信息存储在关联数组中