【问题标题】:define a 2d list in python [closed]在python中定义一个二维列表[关闭]
【发布时间】:2022-01-05 17:36:13
【问题描述】:
rows = 7  
cols = 6  
mat = []  
for i in range(cols):
    col = []  
    for j in range(rows):
        col.append(0)  
    mat.append(col) 

for i in range(cols):  
    for j in range(rows):
        print(mat[j])
    print('\n')

为什么会有 //IndexError: list index out of range// 错误?

【问题讨论】:

  • mat[i] 有效,或mat[i][j] 但不是mat[j]

标签: python list index-error


【解决方案1】:

你可以使用

rows = 7  
cols = 6  
mat = []  
for i in range(cols):
    col = []  
    for j in range(rows):
        col.append(0)  
    mat.append(col) 

for i in range(cols):  
    for j in range(rows):
        print(mat[i][j], end = " ")
    print('\n')

在这里,您将一一打印每个值。 或者另一种方法是一次打印整行:

rows = 7  
cols = 6  
mat = []  
for i in range(cols):
    col = []  
    for j in range(rows):
        col.append(0)  
    mat.append(col) 

for i in range(cols):  
    print(mat[i])
print('\n')

IndexError 是因为,您正在尝试访问一个不存在的元素。

【讨论】:

    【解决方案2】:

    因为第二个for循环中的print(mat[j]),你应该这样写:

     print(mat[i][j]), end = " ")
    print()
    

    【讨论】:

      猜你喜欢
      • 2013-09-04
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      相关资源
      最近更新 更多