TJ0929 发表于 4 天前

IndexError: list assignment index out of range是什么意思

tri = [[]]
for i in range(10):
    tri = 1
    tri = 1
    for j in range(i):
      tri = 1
      tri = tri + tri
print(tri)

在24讲的作业中遇到了困难

FishC 发表于 4 天前

错误 `IndexError: list assignment index out of range` 表示你在尝试给列表的某个索引位置赋值时,该索引超出了列表的有效范围。

你的代码中缺少列表的初始化。以下是修复后的代码:

tri = []
for i in range(10):
    tri.append(1)
    for j in range(i):
      tri = tri + tri
print(tri)

这个代码修复了索引超出范围的问题,并正确初始化了 `tri` 列表。这样可以避免 `IndexError` 错误。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

TJ0929 发表于 4 天前

FishC 发表于 2025-2-24 20:35
错误 `IndexError: list assignment index out of range` 表示你在尝试给列表的某个索引位置赋值时,该索引 ...

@FishC
但是输出的结果不对,这个只是初始化嘛,可以给出完整的代码吗,谢谢,有点不同初始化的列表怎么用,可以举例子讲解一下吗,谢谢

FishC 发表于 4 天前

TJ0929 发表于 2025-02-24 21:44
FishC 发表于 2025-2-24 20:35
错误 `IndexError: li ...

当然可以,下面是一个初始化列表并进行索引赋值的完整代码示例:

使用索引初始化列表并赋值

首先,我们创建一个具有固定大小的列表,并使用循环进行赋值操作:


# 初始化一个大小为5的列表,所有元素初始为0
my_list = * 5

# 使用索引进行赋值
for i in range(5):
    my_list = i * 2

print(my_list)


以上代码会输出结果:

动态添加元素到列表

如果你不确定列表的大小,可以使用 append() 方法动态添加元素:


# 初始化一个空列表
my_list = []

# 动态添加元素
for i in range(5):
    my_list.append(i * 2)

print(my_list)


这段代码同样会输出:

使用列表推导式初始化列表

还可以使用列表推导式来简化代码:


# 使用列表推导式生成一个列表
my_list =
print(my_list)


这段代码的输出也是:

如果还有其他问题,请随时提问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

jackz007 发表于 4 天前

本帖最后由 jackz007 于 2025-2-24 22:32 编辑

【代码1】:
tri = []
for i in range(10) :
    tri . append( * (i + 1))
    for j in range(1 , i) :
      tri = tri + tri
print(tri)

【代码2】:
tri = [ * (i + 1) for i in range(10)]
for i in range(len(tri)) :
    for j in range(1 , i) :
      tri = tri + tri
print(tri)

TJ0929 发表于 前天 19:34

jackz007 发表于 2025-2-24 22:25
【代码1】:




但是这个输出的结果好像不是那种要的形式,而是以列表形式输出了

jackz007 发表于 前天 21:26

TJ0929 发表于 2025-2-26 19:34
但是这个输出的结果好像不是那种要的形式,而是以列表形式输出了

tri = [ * (i + 1) for i in range(10)]
for i in range(len(tri)) :
    for j in range(1 , i) :
      tri[ i ] = tri + tri
for i in range(len(tri)) :
    print(' ' * (len(tri) - i) * 2 , end = '')
    for x in tri : print('%4d' % x , sep = '' , end = '')
    print()
      运行实况:
D:\\Python>python x.py
                     1
                     1   1
                   1   2   1
               1   3   3   1
               1   4   6   4   1
             1   51010   5   1
         1   6152015   6   1
         1   721353521   7   1
       1   82856705628   8   1
   1   93684 126 1268436   9   1

D:\\Python>

TJ0929 发表于 9 小时前

jackz007 发表于 2025-2-26 21:26
运行实况:

谢谢!
页: [1]
查看完整版本: IndexError: list assignment index out of range是什么意思