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.
- 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.
- 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...