Słowniki Pythona to świetny sposób na posiadanie danych w postaci par kluczowych, podobnie jak JSON. Jednak zostanie dobrym programistą wymaga dobrego optymalizacji kodu i jego pracy. Aby to zrobić, pierwszym krokiem jest uświadomienie sobie wielkości elementów, których używasz, i zużycia pamięci, które zużywają.
Ten post będzie działał jako przewodnik po znalezieniu długości słowników Python i będzie zawierał następujące sekcje:
Metoda 1: Użyj metody len (), aby znaleźć długość słownika
Len () to wbudowana metoda stosowana do przeciwdziałania długości różnych elementów w Pythonie. Gdy ta metoda jest używana do znalezienia długości słownika Pythona, działa ona jako licznik i zwraca całkowitą liczbę par kluczowych w tym słowniku.
Aby zademonstrować zastosowanie metody len () w przypadku słownika Pythona, weź następujący kod:
dictvar = „Nazwa”: „John Doe”, „Age”: 20, „Social”: „Linuxhint”
druk (len (dictvar))
Kiedy ten kod zostanie wykonany, pokaże długość słownika jako:
Jak widać, metoda len () zwraca liczbę par kluczowych w słowniku, czyli „3”.
Metoda 2: Użyj metody len (), aby uzyskać długość zagnieżdżonego słownika
Jeśli próbujesz zastosować metodę len () na liście zagnieżdżonych, otrzymasz tylko liczbę nieżyty par kluczowych. Na przykład weź następujący kod:
dictvar = „Ludzie”:
„John”: „Doe”, „Johny”: „Wick”, „Rudy”: „Smith”,
'Żywność':
„Fast”: „burger”, „fastfood”: „Ham”, „steak”: „Medium”
druk (len (dictvar))
Uruchomienie tego kodu wydrukuje następujący wynik:
Ta odpowiedź nie jest ani dobra, ani zła. Jeśli mówisz o tym „dictvar”, ma on dwa elementy. Jeśli jednak mówisz o jego zagnieżdżonych elementach, ma on więcej elementów niż 2. W takich przypadkach musisz zastosować metodę len () na każdy element nadrzędny i sumować wynik:
dictvar = „Ludzie”:
„John”: „Doe”, „Johny”: „Wick”, „Rudy”: „Smith”,
'Żywność':
„Fast”: „burger”, „fastfood”: „Ham”, „steak”: „Medium”
print (len (dictvar [„ludzie”])+len (dictvar [„jedzenie”])))
Tym razem, gdy ten program zostanie wykonany, wyświetli liczbę zagnieżdżonych par kluczowych wartości jako:
Jak widać, liczba zagnieżdżonych par kluczowych wynosi 6.
Jeśli jednak chcesz znaleźć całą długość słownika, co oznacza długość słownika macierzystego i zagnieżdżonego słownika, po prostu użyj len () na słowniku macierzystym i dodaj go:
dictvar = „Ludzie”:
„John”: „Doe”, „Johny”: „Wick”, „Rudy”: „Smith”,
'Żywność':
„Fast”: „burger”, „fastfood”: „Ham”, „steak”: „Medium”
print (len (dictvar)+len (dictvar [„ludzie”])+len (dictvar [„jedzenie”])))))
Dzięki temu wyjście jest wyświetlane jako:
Wyjście to oznacza, że istnieje w sumie 8 par kluczowych, zagnieżdżonych i nieżytych.
Metoda 3: Użyj metody isinstance (), aby uzyskać całą długość zagnieżdżonego słownika
Aby ustalić całą długość słownika, możesz również użyć metody isinstance () wraz z metodą len (. Metoda isinstance () sprawdza, czy wartość w pierwszym argumencie istnieje w podklasie.
Aby wykazać działanie metody isinstance () w celu znalezienia długości słownika, weź następujący kod:
dictvar = „Ludzie”:
„John”: „Doe”, „Johny”: „Wick”, „Rudy”: „Smith”,
'Żywność':
„Fast”: „burger”, „fastfood”: „Ham”, „steak”: „Medium”
długośćvar = len (dictvar)
dla Dictvar.wartości ():
Jeśli isinstance (a, dyct):
długośćvar += len (a)
wydruk („długość słownika to”, długośćvar)
Po wykonaniu tego kodu daje następujący wynik na terminalu:
Długość słownika wynosi „8”.
Metoda 4: Użyj metody BETISEOF (), aby uzyskać zużycie pamięci przez DICT
Jeśli chcesz wymyślić pamięć zużywaną przez słownik w bajtach, możesz skorzystać z metody BESISEOF (). Jednak, aby użyć tej metody, musisz zaimportować moduł „SYS”.
Aby zademonstrować działanie metody BEatizeOF (), użyj następującego fragmentu kodu:
Import Sys
dictvar = „Ludzie”:
„John”: „Doe”, „Johny”: „Wick”, „Rudy”: „Smith”,
'Żywność':
„Fast”: „burger”, „fastfood”: „Ham”, „steak”: „Medium”
Drukuj (sys.BETIZEOF (Dictvar))
To wydrukuje następujący wynik na terminalu:
Zgodnie z wyjściem pamięć zużywana przez słownik „Dictvar” wynosi 184 bajty.
Wniosek
Aby znaleźć długość zmiennej słownika w Pythonie, użytkownik może skorzystać z metody len (), która jest wbudowaną metodą. Ta metoda może również działać dla zagnieżdżonych słowników. Jednak w przypadku zagnieżdżonych słowników nie zwróci liczby par kluczowych zagnieżdżonych dykt. Aby uzyskać zużycie pamięci słownika, użytkownik może skorzystać z metody BEatsizeof () z pakietu „SYS”.