|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在如图所示的情况下,为什么运行后会变成这样
不应该是将第1行的第1个元素改成1吗?为什么三行都改变了?
附上代码:
- def get_basic_map(x,y):
- result=y*[x*[0]]
- result[0]=[0]*x
- result[-1]=[0]*x
- for i in range(1,y-1):
- if i%2!=0:
- for j in range(x):
- if j%2!=0:
- result[i][j]=1
- return result
- def show_map(map):
- for i in map:
- for j in i:
- print(j,end=' ')
- print()
- # s=input('size:').split(',')
- # x,y=int(s[0]),int(s[1])
- map=get_basic_map(5,5)
- show_map(map)
-
复制代码
本帖最后由 hrpzcf 于 2022-1-7 13:33 编辑
y*[x*[0]]创建的y个子列表都是同一地址的列表,可以这样:
result = [x*[0] for _ in range(y)]
|
|