Tgħallem Python Set/Frozenset Data Struttura – Parti 4


F'din il-Parti 4 tas-serje Python Data Structure, se nkunu qed niddiskutu x'inhu sett, kif huwa differenti minn struttura oħra tad-dejta f'python, kif toħloq oġġetti stabbiliti, ħassar oġġetti sett u metodi ta 'oġġetti stabbiliti.

  • Oġġett issettjat huwa ġabra mhux ordnata ta' oġġetti distinti li jistgħu jitħaxxew.
  • Set tneħħi awtomatikament oġġetti duplikati mill-oġġett.
  • Ladarba l-oġġetti ssettjati mhumiex ordnati, l-ebda operazzjoni ta' indiċjar u tqattigħ ma hija appoġġjata.

Bħalissa hemm żewġ tipi ta 'sett integrati.

  1. sett – Peress li huwa mutevoli, m'għandu l-ebda valur hash u ma jistax jintuża la bħala ċavetta ta' dizzjunarju jew bħala element ta' sett ieħor.
  2. frozenset – Immutabbli u hashable – il-kontenut tiegħu ma jistax jinbidel wara li jinħoloq; tista’, għalhekk, tintuża bħala ċavetta ta’ dizzjunarju jew bħala element ta’ sett ieħor.

Ibni Set Oġġett

Oħloq sett billi tuża l-metodu tal-kostruttur set() jew tuża ċineg kaboċċi b'virgola li tissepara l-elementi {a,b,c}.

NOTA: ma tistax tibni oġġett stabbilit permezz ta 'ċingi vojta peress li se toħloq oġġett dizzjunarju.

Issettja Metodi

Uża l-funzjoni dir() inkorporata biex telenka l-metodi u l-attributi stabbiliti disponibbli.

Żid Elementi biex Issettja l-Oġġett

Kif diġà ntqal, is-sett huwa tip mutabbli. Tista 'żżid, tħassar, taġġorna l-oġġett tas-sett tiegħek ladarba jinħoloq.

Ejja nitkellmu dwar żewġ sett metodu żid u taġġorna.

  • metodu add(elem) – Dan il-metodu jżid element wieħed ma’ oġġett stabbilit.
  • metodu ta' aġġornament(*oħrajn) – Dan il-metodu jżid elementi multipli ma' oġġett stabbilit. Tista' tgħaddi oġġetti mutevoli/immutabbli bħala argument fil-metodu ta' aġġornament.

NOTA: Id-duplikati jitneħħew awtomatikament.

Neħħi/Ċara Elementi Minn Oġġett Issettjat

Kif rajt qabel f'suġġett ieħor tal-istruttura tad-dejta (dizzjunarju), għal sett tista 'tuża wkoll il-kelma prinċipali integrata del biex tħassar l-oġġett issettjat mill-ispazju tal-isem (jiġifieri Memorja).

Hawn taħt jinsabu l-metodi għall-oġġetti stabbiliti biex jitneħħew l-elementi.

  • clear() – Se tneħħi l-elementi kollha li jagħmlu s-sett vojt. Dan il-metodu ċar() huwa disponibbli fi strutturi oħra tad-dejta li jipprovdu l-istess funzjonalità.
  • pop() – Tneħħi elementi arbitrarji.
  • armi (elem) – Jekk l-oġġett ma jinstabx fl-oġġett issettjat allura l-metodu “armi()” ma jqajjem ebda żball.
  • remove(elem) – L-istess bħall-metodu “discard()” iżda se jqajjem KeyError meta oġġett ma jinstabx.

Issettja l-Operazzjonijiet

Set jipprovdi metodi biex iwettqu operazzjonijiet matematiċi bħal intersezzjoni, unjoni, differenza, u differenza simmetrika. Tiftakar “Dijagramma ta’ Venn” mill-jiem tal-iskola għolja tiegħek?

Aħna se nagħtu ħarsa lejn il-metodi ta 'hawn taħt dwar kif isiru l-operazzjonijiet matematiċi.

  • unjoni
  • intersezzjoni
  • intersection_update
  • differenza_simmetrika
  • symmetric_difference_update
  • differenza
  • difference_update
  • hija disjoint
  • issubset
  • issuperset

  • union(*other) – Irritorna sett ġdid b'elementi mis-sett u l-oħrajn kollha.
  • intersezzjoni(*oħra) – Irritorna sett ġdid b'elementi komuni għas-sett u l-oħrajn kollha.
  • differenza(*oħrajn) – Irritorna sett ġdid b'elementi fis-sett li mhumiex fl-oħrajn.
  • symmetric_difference(other) – Irritorna sett ġdid b'elementi jew fis-sett jew ieħor iżda mhux it-tnejn.

intersection_update(*others) – Aġġorna s-sett, billi żżomm biss elementi misjuba fih u l-oħrajn kollha.

difference_update(*others) – Aġġorna s-sett , żżomm biss elementi li li li li li nsibu fih u l-oħrajn kollha.

symmetric_difference_update(other) – Aġġorna s-sett, iżżomm elementi biss misjuba fi kull sett, iżda mhux fit-tnejn.

  • isdisjoint(other) – Return True jekk is-sett m'għandux elementi in komun ma oħrajn. Is-settijiet huma magħquda jekk u biss jekk l-intersezzjoni tagħhom hi s-sett vojt.
  • issubset() – Ittestja jekk kull element fis-sett huwiex f'ieħor.
  • issuperset() – Ittestja jekk kull element fl ieħor hijiex fis-sett.

Tista 'toħloq kopja identika ta' oġġett stabbilit eżistenti billi tuża l-metodu copy(). Dan il-metodu huwa disponibbli wkoll għal tipi oħra ta' struttura tad-dejta bħal lista, dizzjunarju eċċ...

Ħassar l-oġġett issettjat mill-ispazju tal-isem billi tuża keyword del inkorporata.

  • Is-sett iffriżat huwa tip immutabbli. Ladarba tkun mibnija ma tistax iżżid, tneħħi jew taġġorna elementi mil-lista.
  • Is-sett iffriżat li huma immutabbli huma hashable, jistgħu jintużaw bħala ċavetta għal dizzjunarji jew elementi għal oġġett ieħor sett.
  • Is-sett iffriżat huwa mibni bl-użu tal-funzjoni “frozenset()”.
  • Sett iffriżat jipprovdi l-istess sett ta' metodi meta mqabbel ma' sett bħal union(), intersezzjoni, kopja(), isdisjoint() eċċ.

F'dan l-artikolu rajt x'inhu ssettjat, id-differenza bejn is-sett u s-sett iffriżat, kif toħloq u taċċessa l-elementi ssettjati, issettja metodi eċċ...