Léiert Python Set/Frozenset Datestruktur - Deel 4


An dësem Deel 4 vun der Python Data Structure Serie wäerte mir diskutéieren wat e Set ass, wéi et sech vun aneren Datestrukturen am Python ënnerscheet, wéi ee Setobjekter erstellt, Setobjekter läschen a Methode vu Setobjekter.

  • E Set Objet ass eng ongeuerdnet Sammlung vun ënnerschiddlechen hashbaren Objeten.
  • Set läscht automatesch duplizéiert Elementer aus dem Objet.
  • Well d'Setobjekter net bestallt sinn, gëtt keng Indexéierungs- a Schnëttoperatioun ënnerstëtzt.

Et ginn de Moment zwee agebaute Settypen.

  1. Set - Well et mutéierbar ass, huet et keen Hashwäert a kann net als Wierderbuchschlëssel oder als Element vun engem anere Set benotzt ginn.
  2. frozenset - Immutable an hashable - säin Inhalt kann net geännert ginn nodeems se erstallt ass; et kann also als Wierderbuchschlëssel oder als Element vun engem anere Set benotzt ginn.

Konstrukt Set Objekt

Erstellt e Set mat der Konstruktormethod set() oder benotzt Curly Klameren mat Komma déi d'Elementer {a,b,c} trennen.

NOTÉIERT: Dir kënnt net e festgeluegten Objet duerch eidel Klameren konstruéieren well et Wierderbuchobjekt erstellt.

Set Methoden

Benotzt eng agebaute dir() Funktioun fir déi verfügbare Setmethoden an Attributer ze lëschten.

Füügt Elementer fir Objekt ze setzen

Wéi scho gesot, Set ass e mutéierbare Typ. Dir kënnt Äert Set Objekt addéieren, läschen, aktualiséieren eemol et erstallt ass.

Loosst eis iwwer zwee Set Methoden addéieren an aktualiséieren.

  • add(elem) Method - Dës Method füügt en eenzegt Element un e festgeluegten Objet derbäi.
  • update(*aner) Method - Dës Method füügt verschidde Elementer un e festgeluegten Objet. Dir kënnt mutéierbar/onverännerbar Objeten als Argument an der Updatemethod passéieren.

NOTÉIERT: Duplikate ginn automatesch geläscht.

Ewechzehuelen/läschen Elementer aus engem Set Objet

Wéi Dir virdru an engem aneren Datestrukturthema (Wörterbuch) gesinn hutt, fir Set och kënnt Dir agebaute Schlësselwuert del benotzen fir de Setobjekt aus dem Nummraum ze läschen (dh Memory).

Drënner sinn d'Methoden fir Setobjekter fir Elementer ze läschen.

  • kloer() - wäert all Elementer läschen, déi de Set eidel maachen. Dës clear() Method ass verfügbar an aneren Datestrukturen déi déiselwecht Funktionalitéit ubidden.
  • pop() – Entfernt arbiträr Elementer.
  • entwerfen (elem) - Wann den Artikel net am festgeluegten Objet fonnt gëtt, da wäert d'discard() Method kee Feeler erhéijen.
  • remove(elem) - Selwecht wéi discard() Method awer et wäert KeyError erhéijen wann en Element net fonnt gëtt.

Set Operatiounen

Set bitt Methoden fir mathematesch Operatiounen auszeféieren wéi Kräizung, Unioun, Ënnerscheed a symmetresch Ënnerscheed. Erënnert Iech un Venn Diagramm aus Äre Highsschool Deeg?

Mir kucken op déi folgend Methoden wéi mathematesch Operatiounen ausgefouert ginn.

  • Gewerkschaft
  • Kräizung
  • intersection_update
  • symmetric_difference
  • symmetric_difference_update
  • Ënnerscheed
  • difference_update
  • disjunkt
  • issubset
  • Issuperset

  • Union(*aner) - Gitt en neie Set mat Elementer aus dem Set an all aneren zréck.
  • Kräizung(*aner) - Zréck en neie Set mat Elementer gemeinsam fir de Set an all aner.
  • Differenz(*aner) - Gitt en neie Set mat Elementer am Set zréck, déi net an deenen aneren sinn.
  • symmetric_difference(other) - Gitt en neie Set mat Elementer am Set oder aneren zréck, awer net béid.

intersection_update(*others) - Update de Set, hält nëmmen Elementer déi dra fonnt goufen an all aner.

difference_update(*others) – Update de Set, behale nëmmen Elementer an dat fanne an all aner.

symmetric_difference_update(other) – Update de Set, behalen nëmmen Elementer an entweder Set fonnt awer net a béid.

  • isdisjoint(ander) – Zréck Wou wann de Set keng Elementer gemeinsam mat aner huet. Sets sinn disjoint wann a nëmmen wann hir Kräizung de eidel Set ass.
  • issubset() – Test ob all Element am Set an en aneren ass.
  • issuperset() – Test ob all Element am aneren am Set ass.

Dir kënnt eng identesch Kopie vum existente Setobjekt erstellen andeems Dir Kopie() Method benotzt. Dës Method ass och verfügbar fir aner Datenstrukturtypen wéi Lëscht, Wierderbuch etc ...

Läschen de Set Objet aus dem Nummraum mat engem agebaute del Schlësselwuert.

  • Gefruer Set ass onverännerbar Typ. Eemol konstruéiert kënnt Dir Elementer aus der Lëscht net derbäisetzen, ewechhuelen oder aktualiséieren.
  • Gefruerene Set, déi onverännerbar sinn, sinn hashbar, kann als Schlëssel fir Dictionnairen oder Elementer fir en anert Satzobjekt benotzt ginn.
  • Frozen Set gëtt mat der Funktioun frozenset() konstruéiert.
  • Frozen Set bitt deeselwechte Set vu Methoden am Verglach zum Set wéi Unioun(), Kräizung, Kopie(), isdisjoint() etc.

An dësem Artikel hutt Dir gesinn wat agestallt ass, Ënnerscheed tëscht Set a gefruerene Set, wéi Dir d'Set Elementer erstellt an zougitt, Methoden agesat etc ...