python - 无法创建给定大小的必需列表
问题描述
a=[[None]*3]
a=a*3
k=0
for i in range(3):
for j in range(3):
a[i][j]=k
print(a)
k=k+1
print(a)
我希望输出为 [[0,1,2],[3,4,5],[6,7,8]]。我得到的是 [[6,7,8],[6,7,8],[6,7,8]]
解决方案
错误是影响每个列表元素的变量的引用更改。采用以下方法。
n,m = 3, 3
a = [[0] * m for i in range(n)]
k=0
for i in range(3):
for j in range(3):
a[i][j]=k
k=k+1
print(a)
推荐阅读
- python - 如何获取数据框中的行号并存储为 Id?
- scala - 如何在 Spark2 Scala 中使用匹配大小写模式
- rust - 为什么我们可以在同一范围内对同一数据有多个可变引用?
- openlayers - 如何从 Openlayers ImageArcGisRest 将令牌传递给 ArcGis MapServer
- arrays - 根据键匹配将两个字典值相乘
- react-native - 安装 react-native-video 无法链接
- handlebars.js - 在 HBS 模板文件中使用“if not x”语句
- javascript - 如何优雅地将布尔值和整数建模为一个?
- python - 将 collide_point 与旋转的小部件一起使用
- android - 在 kotlin android 中显示未解决的参考