Seite 1 von 1
Elemente einer Liste benennen
Verfasst: Mittwoch 22. Mai 2019, 07:02
von Fuchsi
Ich möchte die einzelnen Elemente meiner Listen in einer Liste benennen. Veranschaulicht wäre das so:
Code: Alles auswählen
week_planer = [ [day = "Monday", money = 3.000, good_day = True],[day = "Thursday"...]...]
Es kommt in jeder inneren Liste nur day, money und good_day vor. Wie programmiere ich das?
Re: Elemente einer Liste benennen
Verfasst: Mittwoch 22. Mai 2019, 07:36
von sparrow
Du willst keine Liste, du möchtest ein
Dictionary.
Re: Elemente einer Liste benennen
Verfasst: Mittwoch 22. Mai 2019, 07:50
von __blackjack__
Oder
collections.namedtuple(). Oder das externe
attrs-Package.
Edit: Eigentlich nicht ”oder”, denn wenn man immer den gleichen festen Satz an Schlüsseln/Namen hat, dann ist das ein Objekt und keine Hashmap – sagt die attrs-Doku:
https://www.attrs.org/en/stable/why.html#dicts
Edit2: Das man planen kann, das man 3 EUR am Montag verdient (warum mit *drei* Nachkommastellen?) kann ich mir ja noch vorstellen – aber das man planen kann das es ein guter Tag wird? Und das man planen *will*, dass es ein schlechter Tag wird‽

Re: Elemente einer Liste benennen
Verfasst: Mittwoch 22. Mai 2019, 08:07
von sls
@Fuchsi: ich würde da wohl auch ein namedtuple verwenden. Der Wochentag ist ja ein ausgezeichneter Hash für dein Beispiel, und `money` und `good_day` lassen sich z.B. in einem Tupel abbilden, das muss imho nicht zwangsweise nochmal verschachtelt werden.