将字符串拆分为2D数组的多个整数

use*_*499 0 python for-loop multidimensional-array

所以我有一个文本文件,内容如下:

1, 2, 3, 4, 5

2, 3, 4, 5, 6

3, 4, 5, 6, 7

4, 5, 6, 7, 8

...
Run Code Online (Sandbox Code Playgroud)

我想将此文件读入python中的2D数组中,以便该matrix[]数组将保存包含每行整数的数组。

例如, matrix[2][3] == 6

我不确定我的逻辑或编程是否正确(我是python的新手),但这是到目前为止的内容:

matrix = []

i = 0
with open('matrix.txt', 'r') as openfile:
    for line in openfile:
        matrix.append([])
        matrix[i] = int(n) for n in line.split(',')
        i += 1

openfile.close()

print (matrix)
#print (matrix[2][3])
Run Code Online (Sandbox Code Playgroud)

我收到覆盖嵌套for语句的无效语法错误,如下所示int (n) for n

iCo*_*dez 5

列表理解必须放在方括号中[...]

matrix[i] = [int(n) for n in line.split(',')]
#           ^                               ^
Run Code Online (Sandbox Code Playgroud)

同样,也没有理由这样做,openfile.close()因为当控件离开其代码块时(即它的作用),with语句会自动为您关闭文件。