[Python-de] Einfuegen in eine zweidimensionale Liste

Gerhard Quell gquell at skequell.de
Don Sep 23 07:41:32 CEST 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo Alexander,

~ beim initialisieren von temp hast Du eine leere Liste.
Wenn Du beispielsweise folgendes Konstrukt verwendest:

~ temp=["","",""]

dann läuft es.

~ Oder statt temp[i] temp.append() verwenden.

Gruß

Gerhard
- ----------------
Alex Knaub wrote:
| Hallo,
|
|
| ich  habe hier zwei Funktionen. Erste Funktion funktioniert nicht so,
| wie ich es mir
| vorstelle. Die zweite dagegen schon.
| Ich möchte eigentlich eine triviale Aufgabe lösen: Eine Datei
| zeilenweise einlesen,
| einzelne Zeilen in Wörter aufteilen und das alles in einer
| zweidimensionalen Liste
| speichern. Nun wenn ich versuche das oben Beschrieben mit Hilfe der
ersten
| Funktion zu erledigen, dann bekomme ich als Ergebnis eine
| zweidimensionale Liste,
| die in der "zweiten Dimension" gleiche Daten enthält. Also den Inhalt
der letzen
| eingelesenen Zeile. Ich verstehe nicht, wieso das passiert.
|
|
| def parse_log_file(logfile):
|     result = []
|     temp   = []
|
|     for i in range(5):
|         temp.append( i )
|
|     contents = open(logfile, "r").xreadlines()
|
|     for line in contents:
|         sp = line.split(" ")
|         temp[0] = sp[0]
|         temp[1] = sp[1]
|         temp[2] = sp[2]
|         result.append( temp )
|     return result
|
| # Diese Methode tut das Gewünschte
| def parse_log_file2(logfile):
|     result = []
|     temp   = []
|
|     for i in range(5):
|         temp.append( i )
|
|     contents = open(logfile, "r").xreadlines()
|
|     for line in contents:
|         sp = line.split(" ")
|
|         host = sp[0]
|         date = sp[1]
|         page = sp[2]
|
|         result.append( [host, date, page] )
|     return result
|
| _______________________________________________
| python-de maillist  -  python-de at python.net
| http://python.net/mailman/listinfo/python-de
|


- --
- ------------------------------------------------------ skequell ------
~ Gerhard Quell                       Software & Knowledge Engineering
~ Schützenweg 3      eMail:     gquell at skequell.de  Fon: 0731-26400651
~ 89275 Elchingen    web  : http://www.skequell.de  Fax: 0731-26400652
- --------------- pgp: 473EC53C  -  http://www.keyserver.net/en---------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFBUmILvHbZD0c+xTwRAg/QAJ4mmXVkv9tx9TTkTJf81M06e8xADQCeISyq
asy/hGUnirm5cNyiJHJEbT8=
=2PUT
-----END PGP SIGNATURE-----