Seite 1 von 1
Sortieren eines Tupels
Verfasst: Mittwoch 22. April 2009, 12:25
von alpha
Hallo Zusammen,
ich habe Probleme sowas
Code: Alles auswählen
dict = (
[2,[["hallo1",0],["Hello1",0],["/picpath/pic1.jpg",0]]],
[4,[["hallo2",0],["Hello2",0],["/picpath/pic2.jpg",0]]],
[1,[["hallo3",0],["Hello3",0],["/picpath/pic3.jpg",0]]],
[5,[["hallo4",0],["Hello4",0],["/picpath/pic4.jpg",0]]],
[3,[["hallo5",0],["Hello5",0],["/picpath/pic5.jpg",0]]]
)
mit dict.sort() zu sortieren. Ich möchte nach der vorderen Zahl sortiert haben. Weiß jemand wie man sowas macht?
Danke und Gruß
alpha
Verfasst: Mittwoch 22. April 2009, 12:32
von lunar
Das ist kein Wörterbuch, also solltest du es auch nicht "dict" nennen. Das Ganze ist ein Tupel, und Tupel kann man nicht in-place sortieren.
Zum Sortieren kannst du entweder das "key"-Argument von "sorted()" benutzen, oder aus "dict" ein echtes Wörterbuch machen, und dessen Schlüssel sortieren. Letzteres allerdings ist momentan unmöglich, da du das Builtin "dict()" neu gebunden hast, weswegen du den "dict()"-Konstruktor nicht aufrufen kannst.
Im Allgemeinen ist diese Datenstruktur meines Erachtens zu verschachtelt, ein eigener Typ für die inneren Listen wäre besser geeignet.
Verfasst: Mittwoch 22. April 2009, 12:43
von alpha
Hallo Lunar,
ich gebe Dir recht die 2te verschachtelung ist unnötig.
Code: Alles auswählen
d = (
[1,["hallo1",0],["Hello1",0],["/picpath/pic1.jpg",0]],
[2,["hallo2",0],["Hello2",0],["/picpath/pic2.jpg",0]],
[3,["hallo3",0],["Hello3",0],["/picpath/pic3.jpg",0]],
[4,["hallo4",0],["Hello4",0],["/picpath/pic4.jpg",0]],
[5,["hallo5",0],["Hello5",0],["/picpath/pic5.jpg",0]]
)
sorted(d) funktioniet so wie ich es wollte. Danke für die Hilfe.
Grüße
alpha
Verfasst: Mittwoch 22. April 2009, 13:02
von CM
So ist d immer noch ein Tupel und d.sort() wird nicht gehen, wohingegen sorted(d) eine Liste zurückgibt. Das kann natürlich gewollt sein, aber das glaube ich nicht ...
Mach' doch einfach
d.sort() funktioniert in-place.
HTH
Christian
Verfasst: Mittwoch 22. April 2009, 13:53
von alpha
Oder so

Verfasst: Mittwoch 22. April 2009, 14:40
von Hyperion
Wobei die Datenstruktur immer noch nach einem dict riecht ... zumindest wenn die erste Zahlenspalte IDs sein sollen!
Datenbuch
Verfasst: Freitag 24. April 2009, 07:43
von Goswin
lunar hat geschrieben:Das ist kein Wörterbuch.
Ich lobe dich für deine Mühe, dich auf Deutsch auszudrücken. *applaus*
Aber für "Dictionary" sollte man nicht "Wörterbuch", sondern "
Datenbuch" sagen.
Re: Datenbuch
Verfasst: Freitag 24. April 2009, 09:26
von lunar
Goswin hat geschrieben:Aber für "Dictionary" sollte man nicht "Wörterbuch", sondern "Datenbuch" sagen.
Warum?
Re: Datenbuch
Verfasst: Freitag 24. April 2009, 09:58
von numerix
lunar hat geschrieben:Goswin hat geschrieben:Aber für "Dictionary" sollte man nicht "Wörterbuch", sondern "Datenbuch" sagen.
Warum?
Ja, das wüsste ich auch gerne.
Denn ebenso wenig wie Wörter drin stehen, ist es auch ein Buch.
Dann schon eher "assoziatives Feld". Aber das versteht nicht jeder.
Ich finde "Wörterbuch" in Ordnung.

Re: Datenbuch
Verfasst: Freitag 24. April 2009, 10:02
von EyDu
Goswin hat geschrieben:Aber für "Dictionary" sollte man nicht "Wörterbuch", sondern "Datenbuch" sagen.
Wenn du unbedingt verhindern möchtest, dass dich jemand ohne Nachfrage versteht: dann ja

Wörterbuch ist in der Informatik eine gängige Übersetzung für Dictionary. Datenbuch ist mir in fünf Jahren Studium noch nie untergekommen.