Reading a triangle of numbers into a 2d array of ints in Python

file, python

Solution

arr = [[int(i) for i in line.split()] for line in open('input.txt')]

Problem

I want to read a triangle of integer values from a file into a 2D array of ints using Python. The numbers would look like this: 75 95 64 17 47 82 18 35 87 10 20 04 82 47 65 ... The code I have so far is as follows: ``` 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 ``` I have a feeling this could be done in a tighter, more Pythonesque way. How would you do it?

Original source