【发布时间】:2019-02-07 14:24:36
【问题描述】:
只是 Python 的初学者。我试图在不使用 numpy 的情况下找到矩阵的转置。我的代码如图:
import fileinput
order = int(raw_input())
arr_input = [int(num) for num in raw_input().split(' ')]
arr = []
index = 0
for i in range(order):
for j in range(order):
arr[j][i] = arr_input[index]
print(index, i , j)
index += 1
print(arr)
上面写着IndexError: list index out of range,据我了解,循环终止,而index 增加到9 但我没有访问arr_input[9],那么为什么会出现错误?任何帮助,将不胜感激。谢谢。
【问题讨论】:
-
输入是什么?欢迎来到堆栈溢出!请使用tour 并通读help center,尤其是[how-to-ask] 您最好的选择是进行研究,搜索有关 SO 的相关主题,然后试一试。如果您在进行更多研究和搜索后卡住并且无法摆脱卡住,请发布您的尝试示例 minimal reproducible example 并具体说明您卡在哪里。
-
i/p: 3 (newline) 1 2 3 4 5 6 7 8 9 o/p: Traceback(最近一次调用最后):文件“transpose.py”,第 13 行,在
arr[j][i] = arr_input[index] IndexError: list assignment index out of range -
@seema 如果您有其他信息,请编辑您的问题。您无法在 cmets 中格式化代码,人们往往不会阅读它。
标签: python arrays list indexing transpose