所以我有一个文本文件,其内容如下:
1, 2, 3, 4, 5
2, 3, 4, 5, 6
3, 4, 5, 6, 7
4, 5, 6, 7, 8
...
我想在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])
我收到覆盖嵌套for
语句的语法错误,如int (n) for n
答案 0 :(得分:4)
List comprehensions必须用方括号[...]
括起来:
matrix[i] = [int(n) for n in line.split(',')]
# ^ ^
此外,没有理由执行openfile.close()
,因为当控件离开其代码块时,with语句会自动为您关闭文件(这就是它的用途)。