2016-07-19 13 views
-1

Ich versuche, jede iterierte Ausgabe der for-Schleife für weitere Operationen zu schreiben. Hier ist mein CodeAusgabe der for-Schleife in Python schreiben

#!/usr/bin/python 

import io 
from operator import itemgetter 
with open('test.in') as f: 
    content = f.readlines() 
    content = [int(x) for x in content] 
    content = tuple(content) 
    nClus = input("Number of Clusters: ") 
    nEig = input("Number of eigen values: ") 
    j = 0 
    k = nClus + 1 
    content1 = "" 
    for i in range(1,k): 
     print content[j*(nEig+1):i*(nEig+1)] 
     j = j + 1 

Die Datei test.in sieht wie folgt aus (das ist ein Beispiel, tatsächliche test.in enthält riesige Menge an Daten)

40 
1 
4 
3 
5 
7 
29 
6 
9 
4 
7 
3 
50 
1 
2 
3 
4 
5 
57 
9 
8 
7 
6 
5 

Die Werte nClus = 4, NEIG = 5. Haben Sie Vorschläge, wie Sie vorgehen sollen?

+0

Sie haben eine 'print' Anweisung innerhalb Ihrer for-Schleife, so dass es gut in der Ausgabe schreiben sollte. Tut es nicht was du willst? Was macht es und was soll es machen? – Kevin

+0

Tipp: 'für Zeile in f' anstatt mit' content = f.readlines() ' –

+0

@Kevin wegzuspeien Ich möchte jede Ausgabe in eine Variable speichern, so dass ich jeden von ihnen nach Bedarf aufrufen kann meine weiteren Operationen – ratamboli

Antwort

0

Warum speichern Sie sie nicht einfach in einem Array (mydata unten)? Ich sehe nicht, wo stoppt (other_dimension, Sie können es wahrscheinlich nur löschen, wenn Sie nur 1 Dimension der Ergebnisse haben, ich kenne Ihre Array-Größe nicht), aber Sie können diesem Format folgen, um ein numpy Array zu erhalten, um Daten zu speichern zu:

import numpy as np 
... [your code] 
    mydata = np.zeros([k,other_dimension]) // other_dimension only if you are saving a rectangular matrix of results instead of a vector 
    for i in range(1,k): 
     mydata[row, column] = content[j*(nEig+1):i*(nEig+1)] // put your iterators here for row, column if applicable (rectangular matrix), otherwise mydata[iterator] 
     print mydata[k, other_dimension] // other_dimension only if you are saving a rectangular matrix of results instead of a vector 
     j = j + 1