python-3.x - Python:在另一个数组的位置设置数组的值
问题描述
在下面的代码中,[4][7] 处的 zomPos 是唯一应该在数组 zomPos 中的非零事物。但是,并非只有 zomPos[4][7] 为 28,而是第 7 个索引处的所有行都有 28。
turn = 0
zomPos = [[0]*8]*5
zombies = [[0,4,28],[1,1,6],[2,0,10],[2,4,15],[3,2,16],[3,3,13]]
for zombie in zombies:
if zombie[0] == turn:
zomPos[zombie[1]][7] = zombie[2]
print(zomPos)
tl;博士:
代码应打印:
[[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 28]]
但打印:
[[0, 0, 0, 0, 0, 0, 0, 28],
[0, 0, 0, 0, 0, 0, 0, 28],
[0, 0, 0, 0, 0, 0, 0, 28],
[0, 0, 0, 0, 0, 0, 0, 28],
[0, 0, 0, 0, 0, 0, 0, 28]]
解决方案
只是想通了...zomPos = [[0]*8]*5
创建5个相同的数组...
zomPos = [ [0] * 8 for t in range(5) ]
是我所需要的。
推荐阅读
- javascript - 在 react-select 控件中需要一个搜索输入
- python - Python搜索行块(带有换行符和符号)并删除它们
- ios - 如何按键排序字典数组?
- java - 将 EMF 转换为 PNG,结果并不完美
- python - 唯一值,但如何防止拼写错误 - Odoo
- mongodb - MongoDB 带有数组的大文档 VS 小而多的文档
- javascript - redux 是否会在对 store 的任何更新时评估 store 的所有侦听器?
- python - Sklearn 错误:“AttributeError:‘MissingValues’对象没有属性‘to_list’”
- amazon-web-services - AWS Cloudwatch = 按 EventID 过滤事件
- python - 使用 joblib.load 从磁盘读取 xgboost 模型时出现类型错误