Lær Python Set/Frozenset Datastruktur - Del 4


I denne del 4 af Python Data Structure-serien vil vi diskutere, hvad der er et sæt, hvordan det adskiller sig fra anden datastruktur i python, hvordan man opretter sætobjekter, sletter sætobjekter og metoder til sætobjekter.

  • Et sæt objekt er en ikke-ordnet samling af forskellige hashable-objekter.
  • Set fjerner automatisk duplikatelementer fra objektet.
  • Da indstillede objekter ikke er ordnet, understøttes ingen indeksering og udskæring.

Der er i øjeblikket to indbyggede sættyper.

  1. sæt - Da det er mutabelt, har det ingen hash-værdi og kan ikke bruges som hverken en ordbogstast eller som et element i et andet sæt.
  2. frozenset - Uforanderlig og hashable - dens indhold kan ikke ændres, efter at den er oprettet; det kan derfor bruges som en ordbogstast eller som et element i et andet sæt.

Konstruer sæt objekt

Opret et sæt ved hjælp af konstruktormetoden "set()" eller ved hjælp af krøllede seler med komma, der adskiller elementerne "{a, b, c}".

BEMÆRK: du kan ikke konstruere et sæt objekt gennem tomme seler, da det vil oprette ordbogobjekt.

Indstil metoder

Brug den indbyggede “dir()” -funktion til at liste de tilgængelige indstillingsmetoder og attributter.

Tilføj elementer for at indstille objekt

Som allerede nævnt er sæt en ændret type. Du kan tilføje, slette, opdatere dit indstillede objekt, når det er oprettet.

Lad os tale om to sæt metode tilføj og opdater.

  • add (elem) -metode - Denne metode føjer et enkelt element til et sæt objekt.
  • opdateringsmetode (* andre) - Denne metode tilføjer flere elementer til et sæt objekt. Du kan videregive ændrede/uforanderlige objekter som et argument i opdateringsmetoden.

BEMÆRK: Duplikater fjernes automatisk.

Fjern/ryd elementer fra et sæt objekt

Som du tidligere har set i et andet datastrukturemne (liste, tupler, ordbog), for sæt kan du også bruge det indbyggede nøgleord "del" til at slette det indstillede objekt fra navneområdet (dvs. hukommelse).

Nedenfor er metoderne til at indstille objekter til at fjerne elementer.

  • clear() - Rydder alle de elementer, der gør sættet tomt. Denne klare() metode er tilgængelig i andre datastrukturer, der giver den samme funktionalitet.
  • pop() - Fjerner vilkårlige elementer.
  • kassér (elem) - Hvis elementet ikke findes i det indstillede objekt, vil "kassér()" -metoden ikke medføre nogen fejl.
  • remove (elem) - Samme som "kassér()" -metoden, men det hæver KeyError, når en vare ikke findes.

Indstil operationer

Sæt giver metoder til at udføre matematiske operationer såsom skæringspunkt, union, forskel og symmetrisk forskel. Husk "Venn-diagram" fra dine gymnasiedage?

Vi vil se på nedenstående metoder til, hvordan matematiske operationer udføres.

  • fagforening
  • kryds
  • skæringsopdatering
  • symmetrisk forskel
  • symmetrisk_forskel_opdatering
  • forskel
  • forskel_opdatering
  • er usammenhængende
  • issubset
  • udstedersæt

  • union (* anden) - Returner et nyt sæt med elementer fra sættet og alle andre.
  • kryds (* andet) - Returner et nyt sæt med elementer, der er fælles for sættet og alle andre.
  • forskel (* andre) - Returner et nyt sæt med elementer i sættet, der ikke er i de andre.
  • symmetric_difference (other) - Returner et nyt sæt med elementer i enten sættet eller andet, men ikke begge dele.

intersection_update (* andre) - Opdater sættet, og hold kun de elementer, der findes i det, og alle andre.

difference_update (* andre) - Opdater sættet, og hold kun de elementer, der findes i det, og alle andre.

symmetric_difference_update (andet) - Opdater sættet, og hold kun elementer fundet i begge sæt, men ikke i begge.

  • isdisjoint (andet) - Returner sandt, hvis sættet ikke har nogen elementer til fælles med andre. Sæt er adskilt, hvis og kun hvis deres skæringspunkt er det tomme sæt.
  • issubset() - Test, om hvert element i sættet er i et andet.
  • issuperset() - Test om hvert element i det andet er i sættet.

Du kan oprette en identisk kopi af det eksisterende sætobjekt ved hjælp af copy() -metoden. Denne metode er også tilgængelig for andre datastrukturstyper som liste, ordbog osv ...

Slet det indstillede objekt fra navneområdet ved hjælp af et indbygget "del" nøgleord.

  • Frossent sæt er uforanderlig. Når du er konstrueret, kan du ikke tilføje, fjerne eller opdatere elementer fra listen.
  • Frosne sæt, der er uforanderlige, er hashable, kan bruges som en "nøgle" til ordbøger eller elementer til et andet sæt objekt.
  • Frossent sæt er konstrueret ved hjælp af funktionen "frozenset()".
  • Frossent sæt giver samme sæt metoder i sammenligning med "sæt" som union(), skæringspunkt, kopi(), isdisjoint() osv.

I denne artikel har du set hvad der er indstillet, forskel mellem sæt og frossent sæt, hvordan man opretter og får adgang til sætelementerne, sætmetoder osv ...