Que en realidad lo que quieres guardar en las listas no son los
archivos sino las x & y, así que después de abrirlos y sacar los datos
que necesitas puedes descartarlos. Además el código es más fácil de
entender si agrupas todos los pasos para cada archivo:
xy_aa = []
xy_cc = []
for i in range(0, 3):
bram_aa = open("bram_aa%s" % i, "r")
cols_aa = np.loadtxt(bram_aa, dtype=str, usecols=[2,8])
x1 = cols_aa[:,0].astype(int)
y1 = cols_aa[:,1]
xy_aa.append((x1, y1))
bram_cc = open("bram_cc%s"%i, "r")
cols_cc = np.loadtxt(bram_cc, dtype=str, usecols=[2,8])
x2 = cols_cc[:,0].astype(int)
y2 = cols_cc[:,1]
xy_cc.append((x2, y2))
bram_ac_real...
# luego en otro lado
for x, y in xy_aa:
plot(x, y)
for x, y in xy_cc:
plot(x, y)
Luego podrías darte cuenta que estas repitiendo el mismo código para
cada archivo que abres, entonces lo separas a una función y la llamas
en tu bucle para simplificar aun más el código:
def get_xy(filename):
bram = open(filename)
cols = np.loadtxt(bram, dtype=str, usecols=[2,8])
x = cols[:,0].astype(int)
y = cols[:,1]
return x, y
xy_aa = []
xy_cc = []
for i in range(0, 3):
x1, y1 = get_xy("bram_aa%s" % i, "r")
xy_aa.append((x1, y1))
x2, y2 = get_xy("bram_cc%s" % i, "r")
xy_cc.append((x2, y2))
# luego en otro lado
for x, y in xy_aa:
plot(x, y)
for x, y in xy_cc:
plot(x, y)
Luego podrías guardar todo en un diccionario en lugar de variables
individuales (algo como `{"aa": [(x1, y1), (x2, y2)], "bb": [(x2, y2),
(x3, y3)], etc}`) para hacer un bucle en lugar de escribir cada for
por separado:
for name, points in mi_dict.items():
print "plotting %s" % name
for x, y in points:
plot(x, y)
Saludos
--
A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos
de leer manuales.