Pagkat-on sa Python Set/Frozenset Data Structure - Bahin 4


Niini nga Bahin 4 sa serye sa Python Data Structure, atong hisgutan kung unsa ang usa ka set, kung giunsa kini lahi sa ubang istruktura sa datos sa python, kung giunsa paghimo ang mga set nga butang, pagtangtang sa mga set nga butang ug mga pamaagi sa mga set nga butang.

  • Ang usa ka set nga butang usa ka dili han-ay nga koleksyon sa lahi nga hashable nga mga butang.
  • Awtomatikong gitangtang sa set ang mga duplicate nga butang gikan sa butang.
  • Tungod kay ang gitakda nga mga butang dili han-ay, walay indexing ug slicing operation ang gisuportahan.

Sa pagkakaron adunay duha ka mga built-in nga tipo sa set.

  1. set – Tungod kay kini mausab, kini walay hash value ug dili mahimong gamiton isip yawe sa diksyonaryo o isip elemento sa laing set.
  2. frozenset – Dili mausab ug hashable – ang sulod niini dili mausab human kini mabuhat; mahimo kini, busa, gamiton isip yawe sa diksyonaryo o isip elemento sa laing set.

Pagtukod Set Object

Paghimo ug set gamit ang constructor method nga “set()” o gamit ang curly braces nga adunay comma nga nagbulag sa mga elemento nga “{a,b,c}”.

PAHINUMDOM: dili ka makahimo og usa ka set nga butang pinaagi sa walay sulod nga mga braces tungod kay kini makahimo sa diksyonaryo nga butang.

Itakda ang mga Pamaagi

Gamita ang built-in nga dir() function aron ilista ang magamit nga set nga mga pamaagi ug mga hiyas.

Idugang ang mga Elemento sa Itakda nga Bagay

Sama sa giingon na, ang set usa ka mabag-o nga tipo. Mahimo nimong idugang, tangtangon, i-update ang imong set nga butang kung kini nahimo.

Maghisgot kita bahin sa duha ka set nga pamaagi sa pagdugang ug pag-update.

  • add(elem) method – Kini nga pamaagi magdugang ug usa ka elemento sa set object.
  • update(*others) nga pamaagi – Kini nga pamaagi makadugang ug daghang elemento sa set nga butang. Mahimo nimong ipasa ang mausab/dili mausab nga mga butang isip argumento sa pamaagi sa pag-update.

NOTE: Ang mga duplicate awtomatikong matangtang.

Pagtangtang/Pagtangtang sa mga Elemento Gikan sa usa ka Set nga Butang

Sama sa imong nakita kaniadto sa ubang hilisgutan sa istruktura sa datos (diksyonaryo), alang sa set mahimo usab nimo gamiton ang built-in nga keyword nga del aron mapapas ang set nga butang gikan sa namespace (ie Memory).

Sa ubos mao ang mga pamaagi alang sa set nga mga butang aron makuha ang mga elemento.

  • klaro() – Hawanon ang tanang elemento nga maghimo sa set nga walay sulod. Kining tin-aw() nga paagi anaa sa ubang mga istruktura sa datos nga naghatag ug samang gamit.
  • pop() – Pagtangtang sa arbitraryong mga elemento.
  • discard(elem) – Kung ang aytem dili makit-an sa set object unya ang “discard()” nga pamaagi dili mupataas ug bisan unsang sayop.
  • remove(elem) – Parehas sa “discard()” method pero mopataas kini sa KeyError kung wala makit-an ang butang.

Itakda ang mga Operasyon

Ang set naghatag mga pamaagi aron mahimo ang mga operasyon sa matematika sama sa intersection, unyon, kalainan, ug simetriko nga kalainan. Hinumdumi ang Venn diagram gikan sa imong highs school days?

Atong tan-awon ang mga pamaagi sa ubos kung giunsa gihimo ang mga operasyon sa matematika.

  • unyon
  • intersection
  • intersection_update
  • symmetric_difference
  • symmetric_difference_update
  • kalainan
  • kalainlain_pag-update
  • walay dugtong
  • issubset
  • issuperset

  • union(*other) – Ibalik ang bag-ong set nga adunay mga elemento gikan sa set ug uban pa.
  • intersection(*other) – Ibalik ang bag-ong set nga adunay mga elemento nga komon sa set ug sa uban pa.
  • difference(*others) – Ibalik ang bag-ong set nga adunay mga elemento sa set nga wala sa uban.
  • symmetric_difference(other) – Ibalik ang bag-ong set nga adunay mga elemento sa set o uban pa pero dili pareho.

intersection_update(* uban pa) – I-update ang set, itago lamang ang mga elemento nga makita niini ug ang uban pa.

difference_update(*others) – Update ang set, pagtipig lamang mga elemento nga makita ni ni ug sa tanan uban pa.

symmetric_difference_update(other) – I-update ang set, pagtipig lamang  mga elemento  makaplagan  sa  bisan nga set,  apan  dili sa kaduha.

  • isdisjoint(other) – Balik True kon ang set walay mga elemento nga komon sa uban . Ang mga set malain kon ug                                                                                  set
  • issubset() – Sulayi kung matag elemento sa  set naa sa lain.
  • issuperset() – Sulayi kung matag elemento sa usa pa naa sa  set.

Makahimo ka og parehas nga kopya sa naglungtad nga butang gamit ang copy() nga pamaagi. Kini nga pamaagi magamit usab alang sa ubang mga tipo sa istruktura sa datos sama sa lista, diksyonaryo ug uban pa…

Kuhaa ang set nga butang gikan sa namespace gamit ang built-in nga del nga keyword.

  • Ang frozen set kay dili mausab nga tipo. Kung matukod na dili ka makadugang, makatangtang o maka-update sa mga elemento gikan sa lista.
  • Ang frozen nga set kay dili mausab kay hashable, mahimong gamiton isip key sa mga diksyonaryo o elemento para sa laing set nga butang.
  • Ang frozen set gihimo gamit ang “frozenset()” function.
  • Ang frozen set naghatag og parehas nga set sa mga pamaagi kon itandi sa “set” sama sa unyon(), intersection, copy(), isdisjoint() etc.

Sa kini nga artikulo nakita nimo kung unsa ang gitakda, kalainan tali sa set ug frozen nga set, kung giunsa paghimo ug pag-access ang mga set nga elemento, mga pamaagi sa pagtakda ug uban pa…