Beispielsweise:

dictionary = {'a':[3,0], 'b':[5,0]}

Wie soll ich darauf zugreifen, wenn ich eine if-Anweisung schreibe, um zu überprüfen, ob das letzte Element der Listenwertpaare Null ist oder nicht?

-1
b3rt_y 8 Feb. 2020 im 02:40

3 Antworten

Beste Antwort

Das Listenverständnis

[value[-1] == 0 for _,value in dictionary.items()]

Gibt eine Liste der Werte True und False für jedes der letzten Elemente in den Diktatwerten zurück. Für Ihr Testwörterbuch wird es zurückgegeben

[True, True]

Als Nächstes können Sie all in der Liste verwenden Testen Sie, ob sie tatsächlich alle True sind:

all([value[-1] == 0 for _,value in dictionary.items()])

Dies gibt einen einzelnen Booleschen Wert True oder False zurück. (Und hier würde es natürlich True zurückgeben.)

0
usr2564301 8 Feb. 2020 im 00:13

Sie können mit list_name[-1] auf das letzte Element in einer Liste zugreifen.

Ihre if-Anweisung sollte ungefähr so aussehen:

if dictionary[key_name][-1] == 0:
    # todo

Ausgabe:

>>> dict = {'a':[3,0], 'b':[5,0]}
>>> dict['a'][-1]
0
>>> print(dict['a'][-1] == 0)
True
1
Lapis Rose 7 Feb. 2020 im 23:45