python - 只有for循环的最后一次迭代存储在python中我的二维数组的每个索引处
问题描述
我正在尝试使用嵌套的 for 循环在 python 中创建一个二维数组。这是我的代码:
count = 0
stateArray = []
state = [0]*2
for i in range (0,2):
for j in range(0,2):
state[0] = i
state[1] = j
stateArray.append(state)
print (count)
print (stateArray[count])
count += 1
print(stateArray[0])
print(stateArray[1])
print(stateArray[2])
这是我的输出:
0
[0, 0]
1
[0, 1]
2
[1, 0]
3
[1, 1]
[1, 1]
[1, 1]
[1, 1]
为什么一旦我退出循环,我的 stateArray 会更改为在每个索引处存储 fo 循环的最后一次迭代?
解决方案
我认为你需要:
count = 0
stateArray = []
# state = [0]*2
for i in range (0,2):
for j in range(0,2):
# state[0] = i
# state[1] = j
stateArray.append([i,j])
print (count)
print (stateArray[count])
count += 1
print(stateArray[0])
print(stateArray[1])
print(stateArray[2])
输出:
0
[0, 0]
1
[0, 1]
2
[1, 0]
3
[1, 1]
[0, 0]
[0, 1]
[1, 0]
推荐阅读
- php - AJAX 中包含的 PHP 导致 Ajax 响应“盲目”
- terraform - terraform apply 找不到资源 helm_release
- scala - 在 Spark Scala 中的行限制窗口上使用时,领先/滞后函数引发错误
- java - 配置(HttpSecurity http)错误的问题:在anyRequest之后无法配置antMatchers
- python - 如何从属性可迭代中删除所有重复项?
- php - 如何在 Cake 中设置非工作时区
- arrays - AEM 中的 Accordion 组件在构建项目时抛出错误
- react-native - 在 React Native 中进行 USB 调试实时测试时出错
- react-native - React-native 尝试在空对象引用上调用虚拟方法“double java.lang.double.doublevalue()”(2019)
- doxygen - 关于控制 Doxygen 中的枚举文档的问题