Попробуйте вместо этого:
import re
freq_pattern = re.compile("Frequency of Incident[\(\)A-Za-z\s]*\.*\s*([\.0-9]*)")
col_pattern = re.compile("([-\.0-9]+)\s+([-\.0-9]+)\s+([-\.0-9]+)\s+([-\.0-9]+)\s+([-\.0-9]+)")
e_rcs = [] # make an empty list
f = open('example.4.out', 'r')
for line in f:
print line,
result = freq_pattern.search(line)
if result:
freq = float(result.group(1))
cols = col_pattern.search(line)
if cols:
e_rcs.append( float(cols.group(2)) ) # add another float to the list
f.close()
В Python вы можете использовать array.array только тогда, когда вам нужно контролировать двоичную структуру вашего хранилища, то есть простой массив байтов в оперативной памяти.
Если вы собираетесь много анализировать научные данные, вам следует взглянуть на модуль NumPy , который поддерживает n-мерные массивы. Думайте о NumPy как о замене FORTRAN в математике и анализе данных.