Python geavanceerde woordenboeken

  • Vovich Masterovich
  • 0
  • 953
  • 22
>

Invoering

Je hebt al kennis gemaakt met woordenboeken, maar net als de andere datastructuren die Python ondersteunt, zijn er methoden en krachtigere manieren om ze te gebruiken. Er zijn niet zo veel methoden om met woordenboeken te werken als voor lijsten, maar dat komt omdat woordenboeken ze gewoon niet nodig hebben. Bovendien werken veel van de bestaande woordenboeken om woordenboeken op te splitsen in lijsten en tuples om ze gemakkelijker te beheren te maken. Deze lijstmethoden kunnen dus worden gebruikt in combinatie met de woordenboekmethoden om een ​​efficiënte machine te creëren voor het verwerken van gegevens.

Woordenboek methoden

Items, sleutels en waarden

Deze methoden werken om woordenboeken op te splitsen in andere datastructuren om het werken ermee veel beter beheersbaar te maken. Dit geeft ook toegang tot de methoden van die datastructuren. Door deze combinaties van methoden en loops kunt u gemakkelijk toegang krijgen tot gegevens en deze manipuleren.
De eerste methode is artikelen (). Het splitst elk item in het woordenboek op in een tupel en slaat ze allemaal op in een lijst.
 distro_install_command = 'Debian': 'apt-get', 'Ubuntu': 'apt-get', 'Fedora': 'dnf', 'CentOS': 'yum', 'OpenSUSE': 'zypper', 'Arch' : 'pacman', 'Gentoo': 'emerge' distro_install_list = distro_install_command.items () print (distro_install_list) print (distro_install_list [3] [1]) 
Het wordt allemaal precies afgebroken zoals u zou verwachten.
De volgende methode geeft u toegang tot de sleutels in het woordenboek in de vorm van een lijst.
 distro_install_command = 'Debian': 'apt-get', 'Ubuntu': 'apt-get', 'Fedora': 'dnf', 'CentOS': 'yum', 'OpenSUSE': 'zypper', 'Arch' : 'pacman', 'Gentoo': 'emerge' distro_names = distro_install_command.keys () voor distro in distro_names: print (distro) 
De nieuwe distro_names list gedraagt ​​zich net als alle andere en kan op dezelfde manier worden doorgelust.
De laatste methode is dezelfde als ervoor, maar in plaats van de sleutels op te halen, krijgt deze de waarden. Het zou nu vrij duidelijk moeten zijn dat het wordt genoemd waarden ().
 distro_install_command = 'Debian': 'apt-get', 'Ubuntu': 'apt-get', 'Fedora': 'dnf', 'CentOS': 'yum', 'OpenSUSE': 'zypper', 'Arch' : 'pacman', 'Gentoo': 'emerge' distro_commands = distro_install_command.values ​​() voor commando in distro_commands: print (commando) 

Woordenboekwaarden in strings

Dit is geen methode of iets te ingewikkelds, maar er zullen zich situaties voordoen wanneer u waarden rechtstreeks vanuit een hash in een string wilt invoegen, en het werkt niet zoals u zou denken. De % De operator kijkt in feite naar het woordenboek als geheel en haalt waarden uit sleutels erin om ze in een string te vervangen.
 book_info = 'title': 'Learning Python', 'pages': 342, 'pub_date': 'November 2016', 'chapters': 14, print ('Het boek heet% (title) s, en het was uitgebracht op% (pub_date) s. Het is% (pages) d pagina's lang met% (chapters) d hoofdstukken. "% book_info) 
Zoals u kunt zien, is het gewoon een gemakkelijkere manier om de waarden uit een woordenboek in te voegen. Het gebruik van de reguliere methode kan erg repetitief en omslachtig worden, zelfs met slechts een paar ingangen.

Woordenboeken herhalen

Het doornemen van woordenboeken is niet zo eenvoudig als u waarschijnlijk zou denken. Omdat woordenboeken werken met behulp van waardenparen, werkt de numeriek gebaseerde manier om door lijsten te bladeren niet helemaal. Probeer het eens, en kijk wat er gebeurt.
 distro_install_command = 'Debian': 'apt-get', 'Ubuntu': 'apt-get', 'Fedora': 'dnf', 'CentOS': 'yum', 'OpenSUSE': 'zypper', 'Arch' : 'pacman', 'Gentoo': 'emerge' voor distro in distro_install_command: print (distro) 
Dus wat gebeurde er? Het werkte een beetje, maar het enige dat eruit kwam, waren de sleutels. Je kunt waarschijnlijk ook een manier raden om de waarden te achterhalen, en het zal werken, maar het is niet zo'n elegante oplossing.
 distro_install_command = 'Debian': 'apt-get', 'Ubuntu': 'apt-get', 'Fedora': 'dnf', 'CentOS': 'yum', 'OpenSUSE': 'zypper', 'Arch' : 'pacman', 'Gentoo': 'emerge' voor distro in distro_install_command: print ("De distro is% s, en het gebruikt het commando% s."% (distro, distro_install_command [distro])) 
Er is een betere manier om hiermee om te gaan, en het maakt gebruik van de artikelen () methode. Als u zich van tevoren herinnert, de artikelen () methode maakt een lijst met tuples met de sleutels en waarden uit het woordenboek.
 distro_install_command = 'Debian': 'apt-get', 'Ubuntu': 'apt-get', 'Fedora': 'dnf', 'CentOS': 'yum', 'OpenSUSE': 'zypper', 'Arch' : 'pacman', 'Gentoo': 'emerge' voor distro, commando in distro_install_command.items (): print ("De distro is% s, en het gebruikt het commando% s."% (distro, commando)) 
Dat lijkt haaks te staan ​​op iets dat je eerder hebt geleerd, nietwaar? Hoe komt het dat de lus twee tijdelijke variabelen maakt om toegang te krijgen tot de elementen in een tweedimensionale lijst? Nou, dit is eigenlijk functionaliteit die in Python is ingebouwd voor precies dit soort dingen. Helaas werkt het niet altijd goed met multidimensionale lijsten omdat het vereist dat elke lijst in de multidimensionale lijst even groot is. Met een woordenboek weet u dat u altijd met waardenparen zult werken, maar multidimensionale lijsten kunnen lijsten van elke grootte bevatten. Daarom is dit eigenlijk alleen een geweldige oplossing bij het werken met woordenboeken.

Gevolgtrekking

Door methoden en iteratie te gebruiken, kunt u woordenboeken opsplitsen in een vorm waarmee u veel gemakkelijker kunt werken. Door de functionaliteit van woordenboeken te combineren met de functionaliteit die beschikbaar is voor lijsten en tuples, verkrijgt u ongelooflijk krachtige tools voor het verwerken van gegevens.

Inhoudsopgave

  1. Python Introductie- en installatiehandleiding
  2. Python-bestanden en de interpreter
  3. Experimenteren met cijfers en tekst in Python
  4. Python-variabelen
  5. Werken met nummervariabelen in Python
  6. Python String Basics
  7. Geavanceerde Python-strings
  8. Python-opmerkingen
  9. Python-lijsten
  10. Python List-methoden
  11. Multidimensionale lijsten van Python
  12. Python Tuples
  13. Python Booleaanse operatoren
  14. Python If-verklaringen
  15. Python While Loops
  16. Python For Loops
  17. Python-woordenboeken
  18. Python geavanceerde woordenboeken
  19. Python-functies



Niemand heeft nog op dit artikel gereageerd.

Een verzameling nuttige informatie over het Linux-besturingssysteem en nieuwe technologieën
Nieuwe artikelen, praktische tips, gedetailleerde recensies en handleidingen. Voel je thuis in de wereld van het Linux-besturingssysteem