Hallo,
ich habe eine Liste aus [val1,val2,date]
Diese habe ich fuer 3 Werte, also:
so sieht die ausgabe aus:
[['wert1','wert2','2005,...'],[...],[...]]
Jetzt moechte ich das ganze nach dem Datum sortieren. falls nur die datumsangaben in einer Liste stehen, so geht es nat. einfach mit list.sort()
Aber wie mache ich es, wenn die Listen in den Listen sortiert werden sollen anhand des parameters [index aus liste][2], da datum auf index 2 liegt...
Hoffe ich habe mich verstaendlich ausgedrueckt.
[ [111], [2222], [333333] ]
in z.b. : [ [22222222], [333333333], [11111111] ]
111 solol hier einfach der liste1 entsprechen, in der das datum 1 enthalten ist...
Danke,
Patrick
Sortieren von listen in listen...
Hi, habe selber eine loesung gefunden, sorry, aber wer es braucht:
mit Dictionary:
Edit (Leonidas): Code in Python-Tags gesetzt, bitte das nächste Mal selbst machen!
mit Dictionary:
Code: Alles auswählen
dict={}
for index in list:
tmp = index[2]
dict[tmp] = index
# Sort the dictionary keys
Keys = dict.keys()
Keys.sort()
print("\n")
for tmp in Keys:
title=dict[tmp][0]
link=dict[tmp][1]
date=dict[tmp][2]
print (title+"\n"+date)
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Patrick!patrickk hat geschrieben: Aber wie mache ich es, wenn die Listen in den Listen sortiert werden sollen anhand des parameters [index aus liste][2], da datum auf index 2 liegt...
Ich kann es im Moment leider nicht ausprobieren, da ich auf diesem Rechner nur Python 2.3 habe, aber ab Python 2.4 gibt es für sort() den zusätzlichen Parameter key.
Das könnte dann evt. so aussehen (ungetestet):
Code: Alles auswählen
l = [
[3, 3, 2],
[4, 4, 3],
[5, 5, 1]
]
l.sort(cmp, lambda x: x[2])
Ob das aber auch wirklich so funktionieren wird -- keine Ahnung.
mfg
Gerold

Edit: Es wäre nett, wenn du deinen Python-Code in python-Tags einschließen könntest.
Code: Alles auswählen
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.