webentwicklung-frage-antwort-db.com.de

Das Wörterbuch erhält einen Wert, ohne den Schlüssel zu kennen

Wenn ich in Python ein Wörterbuch habe, das ein einzelnes Schlüsselwertpaar hat, und wenn ich nicht weiß, was der Schlüssel sein könnte, wie kann ich den Wert erhalten?

(und wenn ich ein Diktat mit mehr als einem Schlüssel/Wert-Paar habe, wie kann ich dann einen der Werte zurückgeben, ohne einen der Schlüssel zu kennen?)

13
Yunti

Sie müssen nur dict.values() verwenden.

Dadurch wird eine Liste mit allen Werten Ihres Wörterbuchs zurückgegeben, ohne dass Sie einen Schlüssel angeben müssen.

Vielleicht interessiert Sie auch:

  • .keys() : Gibt eine Liste mit den Schlüsseln zurück
  • .items() : Gibt eine Liste von Tupeln zurück (key, value)

Beachten Sie, dass der zurückgegebene Wert in Python 3 nicht die richtige Liste ist, sondern view object .

26
Delgan

Neben Delgans hervorragender Antwort (bitte antworten Sie statt dessen auf diese Antwort), hier ein Beispiel für Python 3, das die Verwendung des View-Objekts veranschaulicht:

In Python 3 können Sie die Werte drucken, ohne die Tasten zu kennen/verwenden:

for item in my_dict:
    print( list( item.values() )[0] )

Beispiel:

    cars = {'Toyota':['Camry','Turcel','Tundra','Tacoma'],'Ford':['Mustang','Capri','OrRepairDaily'],'Chev':['Malibu','Corvette']}
    vals = list( cars.values() )
    keyz = list( cars.keys() )
    cnt = 0
    for val in vals:
        print('[_' + keyz[cnt] + '_]')
        if len(val)>1:
            for part in val:
                print(part)
        else:
            print( val[0] )
        cnt += 1

    OUTPUT:
    [_Toyota_]
    Camry
    Turcel
    Tundra
    Tacoma
    [_Ford_]
    Mustang
    Capri
    OrRepairDaily
    [_Chev_]
    Malibu
    Corvette

Diese Py3-Dokumentation verweist erneut:

https://docs.python.org/3.5/library/stdtypes.html#dict-views

1
gibberish