gpt4 book ai didi

python - 'list index out of range' 怎么样?

转载 作者:行者123 更新时间:2023-11-28 21:37:10 25 4
gpt4 key购买 nike

执行此代码显示:列表索引超出范围

x= int(input("Enter the row number"))
y= int(input("Enter the column number"))
s= []
for i in range(1,x):
for j in range(1,y):
s[i][j]= i*j
print s

请注意,我在编程方面完全是业余爱好者,因此无法帮助自己完成基本任务。谢谢!

最佳答案

您遇到的困难是您无法通过分配给不存在的元素来扩展列表。

您可以使用字典做您想做的事情,就像这样,因为使用字典您可以通过分配新元素来发明新元素:

s= {}
for i in range(1,x):
for j in range(1,y):
s[i,j]= i*j

但是如果您确实想要一个列表列表,则必须使用 append() 构建每个列表。对于x,y == (4,5):

>>> s = []
>>> for i in range(1,x):
s.append([])
for j in range(1,y):
s[-1].append (i*j)

>>> s
[[1, 2, 3, 4], [2, 4, 6, 8], [3, 6, 9, 12]]

这并不能完全实现您的原始代码想要做的事情,因为 Python 列表是从零开始的,并且您希望最低的 xy 索引为1.所以

>>> s[2][3]
12

对于x,y == (4,5),您可能期望该矩阵有 20 个元素而不是 12 个。您得到 12 的原因是 range(1, n) 生成一个元素序列直到但不包括n

如果您确实在 Python 3 中编程,那么您需要编写 print(s) 因为在 Python 3 中,print 是一个函数而不是语句。

关于python - 'list index out of range' 怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50116646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com