在Python中将三角形数字读入2d整数数组

在Python中将三角形数字读入2d整数数组,python,file,Python,File,我想使用Python将一个整数三角形从文件读入一个整数的2D数组。数字如下所示: 七十五 95 64 174782 18358710 20 04 82 47 65 我目前掌握的守则如下: f = open('input.txt', 'r') arr = [] for i in range(0, 15): arr.append([]) str = f.readline() a = str.split(' ') for tok in a: arr[i

我想使用Python将一个整数三角形从文件读入一个整数的2D数组。数字如下所示:

七十五

95 64

174782

18358710

20 04 82 47 65

我目前掌握的守则如下:

f = open('input.txt', 'r')
arr = []
for i in range(0, 15):
    arr.append([])
    str = f.readline()
    a = str.split(' ')
    for tok in a:
        arr[i].append(int(tok[:2]))

print arr

我有一种感觉,这可以用一种更紧密、更像蟒蛇的方式来完成。你会怎么做?

我能想到的方法是

    with open(path, 'r') as file:
        line_array = file.read().splitlines()
        cell_array = []
        for line in line_array:
            cell_array.append(line.split())
        print(cell_array)
稍微压缩一下:

    with open(path, 'r') as file:
        line_array = file.read().splitlines()
        cell_array = [line.split() for line in line_array]
        print(cell_array)
更大的压缩

    print([[item for item in line.split()] for line in open(path)])

你知道,当计算机读取这样的文本文件时,它不会将其视为三角形。只是一个很长的字符列表。当然它会看到空白,例如
空格
新行
。您可以使用
读取整数
函数(注意,您需要找到合适的函数)并将其存储到一个简单数组中。虽然您可能是在将它们存储在2D数组中之后。主题的变体:
arr=[map(int,line.split())for line in fileinput.input()]
    print([[item for item in line.split()] for line in open(path)])