Lær Python Set/Frozenset Data Structure – Del 4


I denne Del 4 av Python Data Structure-serien vil vi diskutere hva som er et sett, hvordan det skiller seg fra andre datastrukturer i python, hvordan lage settobjekter, slette settobjekter og metoder for settobjekter .

  • Et sett objekt er en uordnet samling av distinkte hashbare objekter.
  • Sett fjerner automatisk dupliserte elementer fra objektet.
  • Siden angitte objekter er uordnet, støttes ingen indekserings- og snittoperasjoner.

Det er for tiden to innebygde setttyper.

  1. sett – Siden det kan endres, har det ingen hash-verdi og kan ikke brukes verken som en ordboknøkkel eller som et element i et annet sett.
  2. frozenset – uforanderlig og hashbar – innholdet kan ikke endres etter at det er opprettet; den kan derfor brukes som en ordboknøkkel eller som et element i et annet sett.

Konstruer settobjekt

Lag et sett ved å bruke konstruktørmetoden “set()” eller bruk krøllete klammeparenteser med komma som skiller elementene “{a,b,c}”.

MERK: du kan ikke konstruere et sett objekt gjennom tomme klammeparenteser, da det vil lage et ordbokobjekt.

Angi metoder

Bruk den innebygde funksjonen “dir()” for å liste de tilgjengelige settmetodene og attributtene.

Legg til elementer for å sette objekt

Som allerede nevnt, er sett en mutbar type. Du kan legge til, slette, oppdatere setteobjektet ditt når det er opprettet.

La oss snakke om to sett-metoder legg til og oppdater.

  • add(elem) metode – Denne metoden legger til et enkelt element til et sett objekt.
  • update(*others) metode – Denne metoden legger til flere elementer til et sett objekt. Du kan sende foranderlige/uforanderlige objekter som et argument i oppdateringsmetoden.

MERK: Duplikater vil automatisk bli fjernet.

Fjern/fjern elementer fra et sett objekt

Som du har sett tidligere i andre emner for datastruktur (liste, tupler, ordbok), kan du også for sett bruke det innebygde nøkkelordet “del” for å slette settobjektet fra navneområdet (dvs. Minne).

Nedenfor er metodene for innstilte objekter for å fjerne elementer.

  • clear() – Fjerner alle elementene som gjør settet tomt. Denne clear()-metoden er tilgjengelig i andre datastrukturer som gir samme funksjonalitet.
  • pop() – Fjerner vilkårlige elementer.
  • discard(elem) – Hvis elementet ikke finnes i det angitte objektet, vil “discard()”-metoden ikke gi noen feil.
  • remove(elem) – Samme som “discard()”-metoden, men den vil øke KeyError når et element ikke blir funnet.

Angi operasjoner

Set gir metoder for å utføre matematiske operasjoner som kryss, union, forskjell og symmetrisk forskjell. Husker du «Venn-diagram» fra skoledagene dine på videregående?

Vi vil ta en titt på metodene nedenfor for hvordan matematiske operasjoner utføres.

  • fagforening
  • kryss
  • intersection_update
  • symmetrisk_forskjell
  • symmetrisk_forskjell_oppdatering
  • forskjell
  • difference_update
  • er usammenhengende
  • er delsett
  • utgavesett

Union, Intersectio, Difference, Symmetrisk_Difference

  • union(*other) – Returner et nytt sett med elementer fra settet og alle andre.
  • kryss(*annet) – Returner et nytt sett med elementer som er felles for settet og alle andre.
  • difference(*others) – Returner et nytt sett med elementer i settet som ikke er i de andre.
  • symmetric_difference(other) – Returner et nytt sett med elementer i enten settet eller andre, men ikke begge.

Intersection_Update

intersection_update(*others) – Oppdater settet, behold bare elementer som finnes i det og alle andre.

Differanseoppdatering

difference_update(*others) – Oppdater settet, behold bare elementer som finnes i det og alle andre.

Symmetrisk_Difference_Update

symmetric_difference_update(other) – Oppdater settet, behold bare elementer som finnes i enten sett, men ikke i begge.

Isdisjoint, Issubset, Issuperset

  • isdisjoint(other) – Return True hvis settet ikke har elementer felles med andre. Settene er usammenhengende hvis og bare hvis krysset deres er det tomme settet.
  • issubset() – Test om hver element i settet er i ett annet.
  • issuperset() – Test om hvert element i det andre er i settet.

Kopier() metode

Du kan lage en identisk kopi av eksisterende settobjekt ved å bruke copy()-metoden. Denne metoden er også tilgjengelig for andre datastrukturtyper som liste, ordbok osv...

Slett det angitte objektet fra navneområdet ved å bruke et innebygd «del» nøkkelord.

Frosset sett

  • Frosset sett er uforanderlig type. Når den er konstruert, kan du ikke legge til, fjerne eller oppdatere elementer fra listen.
  • Frosne sett som er uforanderlige er hashable, kan brukes som en «nøkkel» for ordbøker eller elementer for et annet sett objekt.
  • Frosset sett er konstruert ved hjelp av funksjonen “frozenset()”.
  • Frosset sett gir samme sett med metoder sammenlignet med "sett" som union(), skjæringspunkt, kopi(), isdisjoint() osv.

Sammendrag

I denne artikkelen har du sett hva som er satt, forskjellen mellom sett og frosset sett, hvordan du oppretter og får tilgang til settelementene, setter metoder osv...