Naučite strukturu podataka Python skupa/zamrznutog skupa – 4. dio


U ovom 4. dijelu serije Python Data Structure, raspravljat ćemo o tome šta je skup, kako se razlikuje od druge strukture podataka u Pythonu, kako kreirati skup objekte, izbrisati skupove objekata i metode skup objekata .

  • Postavljeni objekt je neuređena kolekcija različitih heširanih objekata.
  • Set automatski uklanja duple stavke iz objekta.
  • Pošto objekti skupa nisu uređeni, nije podržana nikakva operacija indeksiranja i rezanja.

Trenutno postoje dva ugrađena tipa seta.

  1. set – Pošto je promjenjiv, nema hash vrijednost i ne može se koristiti ni kao ključ rječnika ni kao element drugog skupa.
  2. frozenset – Nepromjenjivo i hashable – njegov sadržaj se ne može mijenjati nakon što je kreiran; stoga se može koristiti kao ključ za rječnik ili kao element drugog skupa.

Construct Set Object

Kreirajte skup koristeći metodu konstruktora “set()” ili koristeći vitičaste zagrade sa zarezom koji razdvaja elemente “{a,b,c}”.

NAPOMENA: ne možete konstruirati skup objekt kroz prazne zagrade jer će to stvoriti objekt rječnika.

Set Methods

Koristite ugrađenu funkciju “dir()” da navedete dostupne metode i atribute skupa.

Dodajte elemente za postavljanje objekta

Kao što je već rečeno, set je promjenjiv tip. Možete dodavati, brisati, ažurirati svoj set objekt nakon što je kreiran.

Hajde da razgovaramo o dva skupa metoda dodaj i ažuriraj.

  • add(elem) metoda – Ova metoda dodaje jedan element u skup objekt.
  • metoda ažuriranja(*others) – Ova metoda dodaje više elemenata u skup objekt. Možete proslijediti promjenjive/nepromjenjive objekte kao argument u metodi ažuriranja.

NAPOMENA: Duplikati će se automatski ukloniti.

Ukloni/obrišite elemente iz postavljenog objekta

Kao što ste već vidjeli u drugim temama o strukturi podataka (lista, tuples, rječnik), za set također možete koristiti ugrađenu ključnu riječ “del” da izbrišete skup objekt iz imenskog prostora (tj. Memorija).

Ispod su metode za postavljanje objekata za uklanjanje elemenata.

  • clear() – Obrisati sve elemente koji čine skup praznim. Ova metoda clear() dostupna je u drugim strukturama podataka koje pružaju istu funkcionalnost.
  • pop() – Uklanja proizvoljne elemente.
  • discard(elem) – Ako stavka nije pronađena u postavljenom objektu, metoda “discard()” neće izazvati nikakvu grešku.
  • remove(elem) – Isto kao metoda “discard()”, ali će pokrenuti KeyError kada stavka nije pronađena.

Postavite operacije

Set pruža metode za izvođenje matematičkih operacija kao što su presjek, unija, razlika i simetrična razlika. Sjećate li se “Venn dijagrama” iz srednjoškolskih dana?

U nastavku ćemo pogledati metode o tome kako se izvode matematičke operacije.

  • sindikat
  • raskrsnica
  • intersection_update
  • simetrična_razlika
  • symmetric_difference_update
  • razlika
  • razlika_ažuriranje
  • isdisjoint
  • ispodskup
  • issuperset

Union, Intersectio, Difference, Symmetric_Difference

  • union(*other) – Vrati novi skup sa elementima iz skupa i svih ostalih.
  • intersection(*other) – Vrati novi skup sa elementima zajedničkim za skup i sve ostale.
  • razlika(*others) – Vratite novi skup sa elementima u skupu koji nisu u ostalim.
  • symmetric_difference(other) – Vratite novi skup sa elementima bilo u skupu ili drugom, ali ne u oba.

Intersection_Update

intersection_update(*others) – Ažurirajte skup, zadržavajući samo elemente koji se nalaze u njemu i sve ostale.

Difference Update

difference_update(*others) – Ažurirajte skup, zadržavajući samo elemente pronađene u njemu i sve ostale.

Simetrična_razlika_ažuriranje

symmetric_difference_update(other) – Ažurirajte skup, zadržavajući samo elemente pronađene u bilom skupu, ali ne u obama.

Razdvojeno, Ispodskup, Issuperset

  • isdisjoint(other) – Vratite True ako skup nema zajedničke elemente s drugim. Skupovi su razdvojeni ako i samo ako je njihovo sjecište prazan skup.
  • issubset() – Testirajte da li je svaki element u skupu u drugom.
  • issuperset() – Testirajte da li svaki element u drugom je u skupu.

Metoda Copy().

Možete kreirati identičnu kopiju postojećeg postavljenog objekta koristeći metodu copy(). Ova metoda je također dostupna za druge tipove strukture podataka kao što su lista, rječnik itd...

Izbrišite skup objekt iz imenskog prostora koristeći ugrađenu ključnu riječ “del”.

Frozen Set

  • Smrznuti set je nepromjenljivog tipa. Jednom napravljeni ne možete dodavati, uklanjati ili ažurirati elemente sa liste.
  • Zamrznuti skup koji je nepromjenjiv može se hashirati, može se koristiti kao “ključ” za rječnike ili elemente za drugi objekt skupa.
  • Zamrznuti skup je konstruiran pomoću funkcije “frozenset()”.
  • Zamrznuti skup pruža isti skup metoda u poređenju sa “setom” poput union(), intersection, copy(), isdisjoint() itd.

Sažetak

U ovom članku ste vidjeli šta je postavljeno, razliku između skupa i zamrznutog skupa, kako kreirati i pristupiti elementima skupa, metode postavljanja itd...