Python Advanced Dictionaries
- 2341
- 393
- Tomasz Szatkowski
Wstęp
Zostałeś już zaznajomiony ze słownikami, ale podobnie jak inne struktury danych wspierają Python, istnieją metody i potężniejsze sposoby ich użycia. Nie ma tyle metod pracy ze słownikami, jak na listy, ale to dlatego, że słowniki po prostu ich nie potrzebują. Ponadto wiele z tych, którzy istnieją, pracuje nad rozbiciem słowników na listy i krotki, aby ułatwić im zarządzanie. Tak więc metody listy mogą być używane w połączeniu z słownikami, aby utworzyć wydajną maszynę do obsługi danych.
Metody słownikowe
Elementy, klucze i wartości
Metody te działają, aby rozbić słowniki na inne struktury danych, aby praca z nimi była znacznie łatwiejsza do zarządzania. Daje to również dostęp do metod tych struktur danych. Dzięki tym kombinacjom metod i pętli możesz z łatwością uzyskać dostęp do danych i manipulować danymi.
Pierwsza metoda to rzeczy()
. Rozbija każdy wpis w słowniku na krotkę i przechowuje je wszystkie na liście.
distro_install_command = 'debian': „apt-get”, „Ubuntu”: „apt-get”, „fedora”: „dnf”, „centos”: „yum”, „openSuse”: „Zypper”, „arch”, „arch” : „Pacman”, „gentoo”: „Emerge” distro_install_list = distro_install_command.items () print (distro_install_list) print (distro_install_list [3] [1])
Wszystko to rozkłada się dokładnie tak, jak można się spodziewać.
Następna metoda zapewnia dostęp do kluczy w słowniku w formie listy.
distro_install_command = 'debian': „apt-get”, „Ubuntu”: „apt-get”, „fedora”: „dnf”, „centos”: „yum”, „openSuse”: „Zypper”, „arch”, „arch” : „Pacman”, „gentoo”: „Emerge” distro_names = distro_install_command.Keys () dla distro in distro_names: print (distro)
Nowa distro_names
Lista zachowuje się tak jak każda inna i może być zapętlona przez to samo.
Ostatnia metoda jest taka sama, która przed nią, ale zamiast odzyskiwać klawisze, ta otrzymuje wartości. Powinno być już oczywiste, że się nazywa wartości ()
.
distro_install_command = 'debian': „apt-get”, „Ubuntu”: „apt-get”, „fedora”: „dnf”, „centos”: „yum”, „openSuse”: „Zypper”, „arch”, „arch” : „Pacman”, „gentoo”: „Emerge” distro_commands = distro_install_command.wartości () dla polecenia w distro_commands: print (polecenie)
Wartości słownika w strunach
To nie jest metoda ani nic zbyt złożonego, ale sytuacje pojawią się, gdy chcesz wstawić wartości bezpośrednio z skrótu do sznurka i nie działa tak, jakbyś pomyślał. %
Operator faktycznie patrzy na słownik jako całość i pobiera wartości z klawiszy w nim, aby zastąpić je ciągiem.
book_info = „title”: „uczenie się Python”, „Pages”: 342, „pub_date”: „listopad 2016”, „rozdziały”: 14, print (”książka nazywa się %(tytuł) s i to było Wydany na %(pub_date) s. Jest to %(strony) d długie z %(rozdziały) rozdziały D.„ % book_info)
Jak widać, jest to po prostu wygodny sposób obsługi wstawienia wartości ze słownika. Stosowanie zwykłej metody może stać się bardzo powtarzalne i kłopotliwe, nawet przy kilku wpisach.
Iteracyjne nad słownikami
Iterowanie słowników nie jest tak proste, jak prawdopodobnie można by się spodziewać. Ponieważ słowniki działają przy użyciu par wartości, oparty numerycznie sposób zapętlania za pośrednictwem list nie działa. Spróbuj i zobacz, co się stanie.
distro_install_command = 'debian': „apt-get”, „Ubuntu”: „apt-get”, „fedora”: „dnf”, „centos”: „yum”, „openSuse”: „Zypper”, „arch”, „arch” : „Pacman”, „Gentoo”: „Emerge” dla distro in distro_install_command: print (distro)
Więc co się stało? To się działało, ale jedyne wyświetlone były klucze. Prawdopodobnie możesz odgadnąć jeden ze sposobów na uzyskanie wartości, a to zadziała, ale to nie jest tak elegancki rozwiązanie.
distro_install_command = 'debian': „apt-get”, „Ubuntu”: „apt-get”, „fedora”: „dnf”, „centos”: „yum”, „openSuse”: „Zypper”, „arch”, „arch” : „Pacman”, „gentoo”: „Emerge” dla distro in distro_install_command: print („dystrybucja to %s i używa polecenia %s %s.„ % (distro, distro_install_command [distro])))
Istnieje lepszy sposób, aby sobie z tym poradzić, który wykorzystuje rzeczy()
metoda. Jeśli pamiętasz wcześniej, rzeczy()
Metoda tworzy listę krotek zawierających klucze i wartości ze słownika.
distro_install_command = 'debian': „apt-get”, „Ubuntu”: „apt-get”, „fedora”: „dnf”, „centos”: „yum”, „openSuse”: „Zypper”, „arch”, „arch” : „Pacman”, „gentoo”: „Emerge” dla dystrybucji, polecenie w distro_install_command.przedmioty (): print („dystrybucja to %s i używa polecenia %s.„ % (dystrybucja, polecenie))
To wydaje się latać w obliczu czegoś, czego się wcześniej nauczyłeś, prawda?? Jak to jest dla pętli, tworząc dwie zmienne tymczasowe, aby uzyskać dostęp do elementów na dwuwymiarowej liście? Cóż, jest to w rzeczywistości funkcjonalność wbudowana w Pythona dla tego rodzaju rzeczy. Niestety, nie zawsze działa dobrze z listami wielowymiarowymi, ponieważ wymaga, aby każda lista na liście wielowymiarowej była tego samego rozmiaru. W przypadku słownika wiesz, że zawsze będziesz pracować z parami wartości, ale listy wielowymiarowe mogą zawierać listy dowolnego rozmiaru. Dlatego jest to naprawdę świetne rozwiązanie podczas pracy ze słownikami.
Wniosek
Korzystając z metod i iteracji, możesz podzielić słowniki w formę, z którą jest znacznie łatwiejsza do pracy. Łącząc funkcjonalność słowników z funkcjonalnością dostępną dla list i krotek, zyskujesz niesamowicie potężne narzędzia do obsługi danych.
Spis treści
- Python Wprowadzenie i instalacja
- Pliki Pythona i tłumacz
- Eksperymentowanie z liczbami i tekstem w Pythonie
- Zmienne Pythona
- Praca ze zmiennymi liczbowymi w Pythonie
- Podstawy strun Python
- Zaawansowane sznurki Pythona
- Komentarze Pythona
- Listy Python
- Metody listy Python
- Listy wielowymiarowe Pythona
- Krotki Pythona
- Operatorzy Python Boolean
- Python Jeśli stwierdzenia
- Python podczas pętli
- Python dla pętli
- Słowniki Pythona
- Python Advanced Dictionaries
- Funkcje Pythona
Powiązane samouczki Linux:
- Mastering Bash Script Loops
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Zagnieżdżone pętle w skryptach Bash
- Jak pracować z WooCommerce Rest API z Pythonem
- Obsługa danych wejściowych użytkownika w skryptach Bash
- Rzeczy do zainstalowania na Ubuntu 20.04
- Big Data Manipulacja dla zabawy i zysku Część 1
- Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
- Porównanie Linux Apache Prefork vs Pracowni
- Wprowadzenie do YAML z przykładami