2016-02-08 25 views
5

Witam Mam zmiennej Pythona z listy powiększonej słownikuJak pobrać dane z listy ze słownika

>>> print (b[0]) 
    {'peer': '127.0.0.1', 'netmask': '255.0.0.0', 'addr': '127.0.0.1'} 
----------------------------------------------------------------------- 
    >>> print (b) 
[{'peer': '127.0.0.1', 'netmask': '255.0.0.0', 'addr': '127.0.0.1'}] 
>>> 

Próbowałem wszystkiego, ale nie mogłem dostać 'addr' ekstrakcji.

Proszę o pomoc.

+3

'b [0] ['addr']'? –

+0

Witam neg wyborcy, wyjaśnienie jest dla mnie niezbędne dla negatywnego głosowania. –

Odpowiedz

3

spróbuj tego:

print (b[0]['addr']) 

druku (b [0]) podaje słownik, w słowniku można pobrać wartości przez jego klucz taki jak dict [key] => zwraca przypisaną mu wartość.

tak print(b[0]['addr']) daje wartość addr

Przeczytaj o strukturze danych Pythona tutaj Data structure

+0

Wszystkie odpowiedzi są takie same i proste, ale niesamowite +1. –

3

można po prostu użyć b[0]['addr']:

>>> b = [{'peer': '127.0.0.1', 'netmask': '255.0.0.0', 'addr': '127.0.0.1'}] 
>>> b[0]['addr'] 
'127.0.0.1' 
+0

To różni się od tego, o co prosiłem. To jest wyodrębnianie z prostego słownika, ale to, o co prosiłem, również ma listę, –

+1

@Raja Ok..no problem ... pojęcie jest takie samo .. musisz tylko dodać indeks listy..to to jest .. sprawdź edytuj:) – heemayl

+1

Schłodź mojego przyjaciela. Teraz wszystko dobrze –

3

listy drukowania swoich kluczowych

print(b[0]['addr']) 
+0

Wszystkie odpowiedzi są takie same i proste, ale niesamowite +1. –

3

można po prostu użyć print(b[0]['addr'])

+0

Wszystkie odpowiedzi są takie same i proste, ale niesamowite +1. –

3

Można użyć get metodę dict:

>>> b[0].get('addr') 
'127.0.0.1' 

Od docs:

get(klawisz [domyślnie])
Powrót wartość klucz jeśli kluczowego jest w słowniku , inaczej domyślnie. Jeśli nie podano wartości domyślnej , domyślnie jest to None, więc ta metoda nigdy nie podnosi wartości KeyError.

+0

To jest coś nowego. Dziękuję +1 –

1

Można użyć dostać metodę dict, który działa na klucz i podać odpowiednią wartość. b[0].get('addr')

Powiązane problemy