将字符串拆分为几个整数用于2D数组

时间:2014-11-17 22:10:45

标签: 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

...

我想在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

1 个答案:

答案 0 :(得分:4)

List comprehensions必须用方括号[...]括起来:

matrix[i] = [int(n) for n in line.split(',')]
#           ^                               ^

此外,没有理由执行openfile.close(),因为当控件离开其代码块时,with语句会自动为您关闭文件(这就是它的用途)。