Zoeken op website

Leer Python Dictionary-gegevensstructuur - Deel 3


In dit Deel 3 van de Python Data Structure-serie bespreken we wat een woordenboek is, hoe het verschilt van andere datastructuren in Python, hoe woordenboekobjecten kunnen worden gemaakt en verwijderd en hoe woordenboekobjecten kunnen worden gebruikt.

  • Dictionary is een ingebouwde implementatie van “Python Data Structure”, een verzameling van “Sleutel: Waarde”-paren.
  • Het woordenboek wordt gemaakt met accolades, waarbij de sleutel en de waarde worden gescheiden door een puntkomma {Key: Waarde.
  • Net als bij de lijst zijn woordenboekobjecten veranderlijk gegevenstype, wat betekent dat objecten kunnen worden gewijzigd zodra het woordenboek is gemaakt.
  • De constructie van de woordenboekimplementatie in Python staat beter bekend als “Associatieve array”.
  • In lijst of tuples hebben we toegang tot de items door te verwijzen naar hun indexposities, omdat items in de lijst geordend zijn (dat wil zeggen opgeslagen in de volgorde waarin ze zijn gemaakt). De woordenboekobjecten kunnen in elke volgorde staan, aangezien de items toegankelijk zijn via de bijbehorende “Sleutel”.
  • Woordenboeken zijn erg handig als we de objecten moeten opslaan en er bij naam naar moeten verwijzen.
  • Het woordenboekobject 'sleutel' moet van een uniek en onveranderlijk type zijn.
  • Het woordenboekobject 'Sleutel' kan een tekenreeks, een geheel getal of zwevende waarden zijn.
  • Woordenboek “Waarden ” kan van elk gegevenstype zijn.

Constructiewoordenboekobject

Dictionary-object kan worden gemaakt met behulp van accolades waarbij een puntkomma de sleutel en het waardepaar “{Key:value” of “dict()” scheidt methode.

Om dit te demonstreren ga ik een woordenboek maken waarin gegevens worden opgeslagen over het voetbalteam en hun spelende XI met een positie als sleutel en speler namen als waarden.

U kunt de constructormethode dict() gebruiken om een woordenboekobject te construeren.

Toegang tot woordenboekobject

Woordenboekitems zijn toegankelijk via 'sleutel'-referenties in plaats van via indexering. Het is mogelijk om indexering te gebruiken als we een reeksgegevenstype (tekenreeks, lijst, tupels, enz.) in het woordenboek hebben.

Items zijn toegankelijk via dic_object[“key”].

KeyError ” wordt weergegeven als u toegang probeert te krijgen tot woordenboekitems met indexering of als u probeert toegang te krijgen tot een “sleutel ” die geen deel uitmaakt van het woordenboek.

Woordenboekobject wijzigen en verwijderen

U kunt het bestaande item wijzigen of een nieuw item toevoegen door rechtstreeks naar de sleutel Dictionary_object[“key”]=waarde te verwijzen. Hierdoor wordt de waarde bijgewerkt als de sleutel beschikbaar is. Voeg anders een nieuw item toe aan het woordenboek.

Verwijderen

U kunt een bepaalde waarde verwijderen op basis van de sleutel ervan, of een sleutel verwijderen of een woordenboekobject uit de naamruimte verwijderen met behulp van het ingebouwde trefwoord 'del'.

Woordenboekmethoden

U kunt de ingebouwde functie “dir()” gebruiken om de beschikbare methoden en attributen voor het woordenboekobject op te zoeken.

clear() – Deze methode verwijdert alle items uit het woordenboekobject. Voor deze methode zijn geen argumenten nodig.

Copy() – Het retourneert een oppervlakkige kopie van een woordenboekobject. De methode copy() gebruikt geen parameters als argument.

Keys() – Deze methode retourneert een view-object voor sleutels die in het woordenboek beschikbaar zijn als woordenboeksleutelobject. Voor deze methode zijn geen argumenten nodig.

Values() – Deze methode retourneert een view-object voor waarden uit het woordenboekobject. Voor deze methode zijn geen argumenten nodig.

Items() – Deze methode retourneert een tuple(sleutel,waarde)-paar uit het woordenboekobject.

Setdefault() – Deze methode zoekt naar een bepaalde sleutel in een woordenboek. Als de sleutel niet in het woordenboek wordt gevonden, wordt deze aan het woordenboek toegevoegd.
Er zijn 2 argumenten nodig dic.setdefault(sleutel,[,standaardwaarde]).

De standaardwaarde is ingesteld op Geen als er geen waarde is opgegeven.

get() – Deze methode retourneert de waarde van de opgegeven sleutel als de sleutel beschikbaar is in een woordenboek.

Syntax dict.get(key[, value]) 

Deze methode heeft twee argumenten nodig. Ten eerste is er het invoerargument dat naar de gegeven sleutel in het woordenboek zoekt en retourneert dat de waarde van de sleutel is gevonden. Het tweede argument retourneert de waarde als er geen sleutel wordt gevonden. De standaard retourwaarde is ingesteld op “Geen”.

Update() – Bijwerkmethode om items aan het woordenboek toe te voegen als de sleutel niet in het woordenboek staat. Als de sleutel wordt gevonden, wordt deze bijgewerkt met de nieuwe waarde. De updatemethode accepteert een ander woordenboekobject van k: v paar of een itereerbaar object van k: v paar, zoals een paar tupels.

Woordenboekobject verwijderen/verwijderen

Pop() – Deze methode verwijdert de waarde op basis van de sleutel als invoer en retourneert de verwijderde waarde.

Deze methode accepteert twee parameters.

  1. Sleutel – De sleutel die moet worden doorzocht in het woordenboekobject.
  2. Standaard – Retourwaarde die moet worden opgegeven als de sleutel niet in het woordenboek wordt gevonden.

OPMERKING Als de sleutel niet in het woordenboek wordt gevonden en als u er niet in slaagt de standaardwaarde op te geven, wordt “KeyError ” weergegeven.

Popitem() – Verwijdert een willekeurig element uit het woordenboekobject. Er wordt geen argument geaccepteerd en er wordt “KeyError” geretourneerd als wordt gezegd dat het woordenboek leeg is.

Net als list en tuples kunnen we een del trefwoord gebruiken om de items in het woordenboekobject te verwijderen of om het woordenboekobject uit de naamruimte te verwijderen.

Samenvatting

In dit artikel heb je gezien wat woordenboek is en hoe het verschilt van andere datastructuren in Python. U hebt ook gezien hoe u woordenboekobjecten kunt maken, openen, wijzigen en verwijderen.

De optimale gebruikssituatie van het woordenboek is wanneer we de gegevens moeten opslaan op basis van een naam en ernaar moeten verwijzen bij de naam ervan. In het volgende artikel zullen we een ander type ingebouwde Python-datastructuur zien, “set/Frozenset”. Tot die tijd kun je hier meer lezen over woordenboeken.