Informatik - Python

...komplette Frage anzeigen code - (programmieren, Informatik, Allgemeinwissen)

2 Antworten

Ich würde es (in Python 3!) so umschreiben:

# Import nicht vergessen:
import codecs

# Der umgeschriebene Quelltext:
with codecs.open('Aufgabe_1.pdb', 'r', 'utf-8', 'strict') as fp:
    tmp = list(x.split() for x in fp.readlines())

# Ausgabe zum testen:
for words in tmp:
    print(repr(words))

Damit kannst du a) die Zeichenkodierung deiner Datei angeben, b) ist es kürzer und c) wird dein Dateihandle auch im Falle einer Exception geschlossen.

TeeTier 30.08.2014, 04:51

PS: Am Ende ist "tmp" eine Liste, die wiederum aus Listen besteht, die die Wörter (Strings) enthalten.

Also wenn dein Datei-Inhalt wie folgt aussieht:

Zeile 1: foo bar baz
Zeile 2: qux quux quuux

Dann sieht "tmp" am Ende so aus:

[['foo', 'bar', 'baz'], ['qux', 'quux', 'quuux']]

Das ganze kannst du auch mit print(repr(tmp)) ausgeben! :)

Oder du kannst über die einzelnen Wörter so hier iterieren:

for words in tmp:
    for word in words:
        print(word)
    print()

Das liefert dann folgende Ausgabe:

foo
bar
baz

qux
quux
quuux

Hoffe, das ist einigermaßen verständlich! Guck dir bei Gelegenheit mal das "with" Keyword und die erweiterte for-Schleife an, falls da noch Unklarheiten sind.

0

Ja, du könntest auch sagen, dass "tmp" eine Liste mit Listen als Elementen ist.

LG aus Stuttgart

Was möchtest Du wissen?