Uzziniet Python Set/Frozenset datu struktūru - 4. daļa


Šajā Python datu struktūras sērijas 4. daļā mēs apspriedīsim, kas ir kopa, kā tā atšķiras no citas pitona datu struktūras, kā izveidot kopas objektus, izdzēst kopu objektus un kopu objektu metodes.

  • Iestatīts objekts ir nesakārtota atšķirīgu jaucamu objektu kolekcija.
  • Set automātiski noņem objekta dublikātus.
  • Tā kā iestatītie objekti nav sakārtoti, indeksēšana un sagriešana netiek atbalstīta.

Pašlaik ir divi iebūvēti komplektu veidi.

  1. kopa - tā kā tā ir mainīga, tai nav hash vērtības, un to nevar izmantot ne kā vārdnīcas atslēgu, ne kā citas kopas elementu.
  2. frozenset - nemaināms un jaucams - tā saturu pēc izveides vairs nevar mainīt; tāpēc to var izmantot kā vārdnīcas atslēgu vai kā citas kopas elementu.

Construct Set Object

Izveidojiet kopu, izmantojot konstruktora metodi “set()” vai izmantojot cirtainās lencītes ar komatu, atdalot elementus “{a, b, c}”.

PIEZĪME. Jūs nevarat izveidot iestatītu objektu, izmantojot tukšas iekavas, jo tas radīs vārdnīcas objektu.

Iestatiet metodes

Izmantojiet iebūvēto funkciju “dir()”, lai uzskaitītu pieejamās kopas metodes un atribūtus.

Pievienot elementus, lai iestatītu objektu

Kā jau minēts, kopa ir maināms tips. Tiklīdz tas ir izveidots, varat pievienot, dzēst un atjaunināt iestatīto objektu.

Parunāsim par divu kopu pievienošanas un atjaunināšanas metodi.

  • pievienot (elem) metodi - šī metode kopējam objektam pievieno vienu elementu.
  • atjaunināšanas (* citi) metode - šī metode kopējam objektam pievieno vairākus elementus. Atjaunināšanas metodē kā argumentu varat nodot maināmus/nemainīgus objektus.

PIEZĪME: dublikāti tiks automātiski noņemti.

Noņemt/notīrīt elementus no iestatīta objekta

Kā jau iepriekš redzējāt citā datu struktūras tēmā (vārdnīcā), arī kopai varat izmantot iebūvēto atslēgvārdu “del”, lai izdzēstu iestatīto objektu no nosaukumvietas (t.i., atmiņas).

Tālāk ir norādītas metodes objektu iestatīšanai elementu noņemšanai.

  • notīrīt() - notīrīs visus elementus, padarot kopu tukšu. Šī skaidrā() metode ir pieejama citās datu struktūrās, kas nodrošina to pašu funkcionalitāti.
  • pop() - noņem patvaļīgus elementus.
  • izmest (elem) - ja vienums nav atrasts iestatītajā objektā, tad metode “izmest()” neradīs nekādu kļūdu.
  • noņemt (elem) - tāda pati kā metode "izmest()", bet tas paaugstinās KeyError, ja vienums netiks atrasts.

Iestatīt operācijas

Komplekts nodrošina tādas matemātisko darbību veikšanas metodes kā krustojums, savienojums, starpība un simetriskā starpība. Vai atceraties “Venna diagrammu” no savām vidusskolas dienām?

Mēs aplūkosim zemāk aprakstītās metodes, kā tiek veiktas matemātiskās darbības.

  • savienība
  • krustojums
  • krustojuma_atjauninājums
  • simetriska_diference
  • symmetric_difference_update
  • atšķirība
  • atšķirības atjaunināšana
  • nedalīts
  • apakšgrupa
  • issuperset

  • savienība (* cits) - atgrieziet jaunu kopu ar elementiem no kopas un visiem citiem.
  • krustojums (* cits) - atgriež jaunu kopu ar kopai un visiem pārējiem kopīgiem elementiem.
  • atšķirība (* citi) - atgrieziet jaunu kopu ar kopas elementiem, kuru nav pārējos.
  • symmetric_difference (cits) - atgriež jaunu kopu ar elementiem kopā vai citā, bet ne abos.

intersection_update (* citi) - atjauniniet kopu, saglabājot tikai tajā atrodamos elementus un visus pārējos.

differ_update (* citi) - atjauniniet kopu, saglabājot tikai tajā un visos pārējos atrastos elementus.

symmetric_difference_update (cits) - atjauniniet kopu, saglabājot tikai elementus, kas atrasti abos komplektos, bet ne abos.

  • isdisjoint (cits) - atgriež vērtību True, ja kopai nav kopīgu elementu ar citiem. Komplekti tiek atdalīti tikai tad, ja to krustojums ir tukšais kopa.
  • issubset() - pārbaudiet, vai katrs kopas elements atrodas citā.
  • issuperset() - pārbaudiet, vai katrs otrais elements ir komplektā.

Izmantojot copy() metodi, varat izveidot identisku esošā kopas objekta kopiju. Šī metode ir pieejama arī citiem datu struktūras veidiem, piemēram, sarakstam, vārdnīcai utt.

Dzēsiet iestatīto objektu no nosaukumvietas, izmantojot iebūvēto atslēgvārdu “del”.

  • Saldēts komplekts ir nemainīgs tips. Pēc izveidošanas jūs nevarat pievienot, noņemt vai atjaunināt elementus no saraksta.
  • Saldēta kopa, kas nav maināma, ir jaucama, to var izmantot kā “atslēgu” vārdnīcām vai cita kopas objekta elementiem.
  • Saldēta kopa tiek veidota, izmantojot funkciju “frozenset()”.
  • Saldētā kopa nodrošina tādu pašu metožu kopu kā “kopa”, piemēram, savienojums(), krustojums, kopija(), nedalīšanās() utt.

Šajā rakstā jūs redzējāt, kas ir iestatīts, atšķirība starp kopu un fiksēto kopu, kā izveidot un piekļūt kopas elementiem, kopas metodēm utt.