Wpis z mikrobloga

Mam #json takego (cudzyslowy sobie darowałem ;P ):
{dziwczyny:{imie: kasia,
nazwisko:jakastam,
wlosy:posiada,
comanasobie:[spodnie, koszulka, bielizna, czapka]},
{imie:zosia,
nazwisko:nietacomyslisz,
wlosy:krotkie,
comanasobie:[sukienka, sweter, stanik, pas_cnoty]},
{imie:ania,
nazwisko:brak,
wlosy:peruka,
comanasobie:[Janek]}
}
jak w #python najszybciej wyjąc wartość włosów Zosi?
ps. jak kogos obraża ten glupkowaty przykład, to przepraszam, ale juz troche zmeczony jestem i glupawka mnie bierze :/
  • 3
@thomeq:
dziwczyny to rozumiem że lista?

from json import dumps
wlosy_zosi = list(filter(lambda d: d['imie'].lower() == "zosia", dumps(TwojJson)['dziwczyny'])[0]['wlosy']

Czyli filtrujesz listę słowników według wartości klucza "imię", lista jest wzięta z jsona. Z listy bierzesz pierwszy element i odczytujesz wartość dla klucza "wlosy".
przydałoby się to jeszcze w jakiegoś try opakować, na IndexError i KeyError, jakby jednak zosi nie było, lub nie miała włosów.