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.