Jak mogę wyodrębnić wszystkie wartości ze słownika w Pythonie?


Odpowiedzi:


339

Jeśli potrzebujesz tylko słownika klucze 1, 2i 3użycie: your_dict.keys().

Jeśli trzeba tylko wartości słownikowych -0.3246, -0.9185i -3985użycie: your_dict.values().

Jeśli chcesz zarówno klucze, jak i wartości, użyj: your_dict.items()który zwraca listę krotek [(key1, value1), (key2, value2), ...].


64
Jeśli używasz Pythona 3, będziesz chciał użyć list(your_dict.values())do pobrania listy (a nie obiektu dict_values).
Matthias Braun

40

Posługiwać się values()

>>> d = {1:-0.3246, 2:-0.9185, 3:-3985}

>>> d.values()
<<< [-0.3246, -0.9185, -3985]

16

Jeśli chcesz wszystkie wartości, użyj tego:

dict_name_goes_here.values()

Jeśli chcesz wszystkie klucze, użyj tego:

dict_name_goes_here.keys()

JEŚLI chcesz wszystkie elementy (zarówno klucze, jak i wartości), użyłbym tego:

dict_name_goes_here.items()


9

Do zagnieżdżonych dykt, list dykt i dykt z list wyszczególnionych dykt, ... możesz użyć

def get_all_values(d):
    if isinstance(d, dict):
        for v in d.values():
            yield from get_all_values(v)
    elif isinstance(d, list):
        for v in d:
            yield from get_all_values(v)
    else:
        yield d 

Przykład:

d = {'a': 1, 'b': {'c': 2, 'd': [3, 4]}, 'e': [{'f': 5}, {'g': 6}]}

list(get_all_values(d)) # returns [1, 2, 3, 4, 5, 6]

PS: Kocham yield. ;-)





3

Aby zobaczyć klucze:

for key in d.keys():
    print(key)

Aby uzyskać wartości, do których odwołuje się każdy klucz:

for key in d.keys():
    print(d[key])

Dodaj do listy:

for key in d.keys():
    mylist.append(d[key])

zrozumienie listy również może pomóc
DeafaltCoder

list = [d [key] for key in d.keys ()]
DeafaltCoder

0

Pythonic kacze typowanie powinno w zasadzie określać, co obiekt może zrobić, tj. Jego właściwości i metody. Patrząc na obiekt słownika, można spróbować zgadnąć, że ma co najmniej jedną z następujących metod : dict.keys()lub dict.values(). Powinieneś spróbować użyć tego podejścia do przyszłej pracy z językami programowania, których sprawdzanie typów odbywa się w czasie wykonywania, szczególnie z tymi, które mają charakter pisania kaczego.


0
dictionary_name={key1:value1,key2:value2,key3:value3}
dictionary_name.values()
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.