Lies Zeilen mit Ganzzahlen aus einer Datei in Python?

8

Ich habe ein Dateiformat wie folgt:

%Vor%

Nun möchte ich jede Zeile als drei ganze Zahlen erhalten.

Als ich

benutzt habe %Vor%

Das Skript hat dies gedruckt:

%Vor%

Wie kann ich jede Zeile als drei ganze Zahlen erhalten?

    
sezina 06.07.2012, 00:55
quelle

5 Antworten

15

Verwenden Sie den Code, den Sie haben, und gehen Sie auf Ihre spezielle Frage ein, wie Sie Ihre Liste in Ganzzahlen konvertieren:

Sie können jede Zeile durchlaufen und die Zeichenfolgen mithilfe des Listenverständnis in int umwandeln :

Gegeben:

%Vor%

dann:

%Vor%

ergibt eine Liste von Ganzzahlen

%Vor%

, auf die Sie dann über Indizes (0 bis 2) zugreifen können. z.B.

int_list[0] enthält 3 ,

int_list[1] enthält 4 ,

usw.

Eine optimierte Version für Ihre Betrachtung:

%Vor%

Der Vorteil der Verwendung von with besteht darin, dass die Datei automatisch für Sie geschlossen wird, wenn Sie fertig sind oder wenn eine Ausnahme auftritt.

AKTUALISIEREN :

Wenn Sie anhand Ihrer nachstehenden Kommentare die Zahlen in 3 verschiedenen Variablen angeben möchten, sagen Sie a , b und c , können Sie Folgendes tun:

%Vor%

und nimm folgendes:

%Vor%

Dies bedeutet, dass auf jeder Zeile 3 Zahlen stehen.

Beiseite:

Beachten Sie, dass Sie anstelle von "List Comprehension" (LC) auch einen "generator expression" (GE) dieser Form verwenden können:

%Vor%

für Ihr spezielles Problem mit 3 ganzen Zahlen macht das keinen großen Unterschied, aber ich zeige es der Vollständigkeit halber. Bei größeren Problemen benötigt LC mehr Speicher, da sie eine vollständige Liste im Speicher auf einmal generiert, während GE bei Bedarf einen Wert einzeln erzeugt. Diese SO Frage Generator Expressions vs. List Comprehension gibt Ihnen mehr Informationen, wenn Sie neugierig sind .

    
Levon 06.07.2012, 00:56
quelle
3
%Vor%

Sie sagen nicht, was Sie mit der Liste der ganzen Zahlen machen wollen, es könnte einen besseren Weg geben, darüber zu iterieren, je nachdem.

Wenn Sie "die Werte als drei verschiedene Variablen benötigen", dann "

%Vor%

obwohl Sie auch verwenden könnten:

%Vor%

wie gewünscht.

    
Ned Batchelder 06.07.2012 00:59
quelle
1
%Vor%

würde tun.

vollständiger, wobei alle Zeilen in einer großen Zeichenfolge noch intakt sind:

%Vor%

würde Ihnen für jede Zeile eine Liste mit den gewünschten Antworten geben.

    
Andre Blum 06.07.2012 00:59
quelle
0

Wenn Sie die ganzen Zahlen in drei Variablen speichern möchten:

%Vor%

Ausgabe:

%Vor%     
Ashwini Chaudhary 06.07.2012 01:16
quelle
0

Dieser Codeblock sollte Ihr Problem lösen:

%Vor%     
inspectorG4dget 06.07.2012 01:01
quelle

Tags und Links