二维列表初始化的一些疑问
24讲中动动手的题目我的代码:
A = [] * 10
for i in range(10):
A = * 10
for i in range(10):
A = 1
A = 1
for i in range(2,10):
for j in range(1,i):
A = A + A
print(A,end = '')
我的初始化过程和小甲鱼答案的初始化过程有什么区别诶,为什么我的代码无法正常运行。报错 IndexError: list assignment index out of range。
# 初始化杨辉三角形
# 创建一个10*10的二维列表,并将所有的元素初始化为0
triangle = []
for i in range(10):
triangle.append([])
for j in range(10):
triangle.append(0)
A = [] * 10是不能这么初始化的,这样得到的是一堆映像体,就是一个改变,都跟着改变 [] * 10 是将列表里面的元素重复 10 次,
你的列表里面什么也没有 * 10 后还是一个空列表,
你可以这样初始化:
A = [ * 10 for _ in range(10)]
A = [] * 10不是创建10个列表,初始化还是一个列表
小甲鱼的创建一个列表,在列表里面循环添加列表
页:
[1]