Ano ang Mga Sets sa Python at Paano ito magagamit?



Alamin kung ano ang Mga Sets sa Python, kung paano lumikha ng mga ito kasama ang iba't ibang mga operasyon. Malalaman mo rin ang tungkol sa mga nakapirming hanay at ang kanilang paglikha sa Python.

Ang pag-iimbak ng data ay isang bagay na kinakailangan para sa bawat domain sa mundo ngayon. Nagbibigay ang Python ng iba't ibang uri ng mga istraktura ng data upang ayusin ang iyong data at ang mga istrukturang ito ng data ay isang mahalagang bahagi ng . Kabilang sa lahat ng mga istraktura ng data na magagamit sa Python, ang ilan ay nababagabag at ang ilan ay hindi nababago. Sa artikulong ito, tatalakayin ko ang isa sa mga hanay na ito. Ang mga set sa Python ay mga istruktura ng data na nababago, napapagana at hindi naayos. Narito ang isang mabilis na walkthrough ng lahat na sakop pa.

Ano ang Itinakda sa Python?
Kailan gagamit ng mga set sa Python?
Paano ka makakalikha ng isang hanay?
Itakda ang Mga Operasyon





Ano ang Frozen Sets?

Magsimula na tayo. :-)



Ano ang Itinakda sa Python?

Ang isang set ay karaniwang isang uri ng data na binubuo ng isang koleksyon ng mga hindi naayos na elemento. Ang mga elementong ito ay maaaring sa anumang mga uri ng data bilang mga set, hindi katulad ,hindi partikular sa uri. Ang mga set ay nababago (nababago) at walang paulit-ulit na mga kopya ng mga elemento. Ang mga halaga ng isang itinakdang are unindexed, samakatuwid, ang indexing operasyon ay hindi maaaring isagawa sa set.

Halimbawa:

My_Set = {1, 's', 7.8} naka-print (My_Set)

Output: {‘S’, 1, 7.8}



Ipinapakita ng output ang lahat ng mga elementong naroroon sa My_Set.

Tandaan: Ang isang hanay bilang isang buo ay nababagabag ngunit ang mga elemento ng isang hanay ay hindi.

Ngayong alam mo na kung ano ang mga hanay sa Python, magpatuloy tayo at unawain kung kailan gagamitin ang mga set.

Kailan gagamit ng mga set sa Python?

Ginagamit ang mga set sa Python kapag-

  • Ang pagkakasunud-sunod ng data ay hindi mahalaga
  • Hindi mo kailangan ng anumang mga pag-uulit sa mga elemento ng data
  • Kailangan mong magsagawa ng mga pagpapatakbo sa matematika tulad ng unyon, intersection, atbp

Ngayon ay magpatuloy tayo at tingnan kung paano lumikha ng mga hanay sa Python.

Paano ka makakalikha ng isang hanay sa Python?

Ang mga set sa Python ay maaaring likhain sa dalawang paraan-

  • nakapaloob na mga elemento sa loob ng mga kulot na tirante
  • sa pamamagitan ng paggamit ng set () function

1. Paggamit ng mga kulot na tirante:

Ang mga set sa Python ay nilikha gamit ang mga kulot na brace ({}).

 Halimbawa: 
My_Set = {1, 's', 7.8} naka-print (My_Set)

Output: {‘S’, 1, 7.8}

Tulad ng nakikita mo, ang My_Set ay nilikha.

2. Paggamit ng set () function

Ang mga set sa Python ay maaaring likhain gamit ang set () na pagpapaandar.

Halimbawa:

a = set ({1, 'b', 6.9}) print (a)

Output: {1, 'b', 6.9}

Maaari ka ring lumikha ng isang walang laman na hanay gamit ang parehong pag-andar.

Halimbawa:

Empty_Set = set () print (Empty_Set)

Output: itakda()

Ang output sa itaas ay nagpapakita ng isang walang laman na hanay na pinangalanang Empty_Set ay nilikha.

Maaari kang magdagdag ng mga elemento sa walang laman na hanay na ito. Tatalakayin ko iyon sa mga sumusunod na paksa.

Itakda ang Mga Operasyon

Ang isang bilang ng mga pagpapatakbo ay maaaring gumanap sa mga set tulad ng pagdaragdag ng mga elemento, pagtanggal ng mga elemento, paghahanap ng haba ng isang set, atbp. Upang malaman kung ano ang maaaring magamit sa lahat ng mga pamamaraan sa mga set, maaari mong gamitin ang sa iyo() pagpapaandar

Halimbawa:

My_Set = {1, 's', 7.8} dir (My_Set)

Output:

['__and __', '__ class __', '__ naglalaman ng __', '__ delattr __', '__ dir __', '__ doc __', '__ eq __', '__ format __', '__ ge __', '__ getattribut__', '__gt__', '__ __iand__ ',' __init__ ',' __init_subclass__ ',' __ior__ ',' __isub__ ',' __iter__ ',' __ixor__ ',' __le__ ',' __len__ ',' __lt__ ',' __ne__ ',' __new__ ',' __or__ ' , '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__sub __xor__ ',' add ',' clear ',' copy ',' pagkakaiba ',' difference_update ',' discard ',' intersection ',' intersection_update ',' isdisjoint ',' issubset ',' issuperset ',' pop ' , 'alisin', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

Ipinapakita ng output ang lahat ng mga pamamaraan na maaaring magamit sa mga set. Ipapakita ko pa ang ilan sa kanila sa artikulong ito.

Paghahanap ng Haba ng isang Set

Upang mahanap ang haba ng isang set sa Python, maaari mong gamitin ang len () na pagpapaandar. Kinukuha ng pagpapaandar na ito ang pangalan ng itinakda bilang isang parameter at nagbabalik ng isang integer na halaga na katumbas ng bilang ng mga elemento na naroroon sa set.

Halimbawa:

My_Set = {1, 's', 7.8} len (My_Set)

Output: 3

Tulad ng nakikita mo sa output sa itaas, 3 ang naibalik na katumbas ng bilang ng mga elemento na naroroon sa My_Set. Ngayon, ang mga elementong ito ay maaaring ma-access din, na ipinapakita sa ibaba.

Pag-access sa Mga Elemento ng isang Set

Ang mga itinakdang elemento ay hindi maa-access gamit ang mga numero ng index sapagkat, tulad ng tinukoy dati, ang mga elemento ng isang hanay ay hindi nai-index. Samakatuwid, kapag nais mong i-access ang mga elemento ng isang hanay, maaari mo itong i-loop sa pamamagitan nito at i-access ang mga elemento nito.

Halimbawa:

My_Set = {1, 's', 7.8} para sa x sa My_Set: print (x)

Output:

s 1 7.8

Tulad ng nakikita mo sa output, ang pagkakasunud-sunod ay naiiba kaysa sa pagkakasunud-sunod ng mga elemento na ibinibigay sa hanay. Ito ay dahil ang mga elemento ay hindi iniutos.

Pagdaragdag ng mga elemento sa isang Itakda:

Ang mga elemento ay maaaring idagdag sa isang hanay gamit ang dalawang pag-andar, ang magdagdag () at ang update () pagpapaandar

Ang pag-andar ng add () ay nagdaragdag ng isang elemento sa umiiral na hanay tulad ng ipinakita sa ibaba:

kung paano baligtarin ang isang numero sa sawa

Halimbawa:

My_Set = {1, 's', 7.8} My_Set.add (3) My_Set

Output: {1, 3, 7.8, ‘s’}

Ginagamit ang pagpapaandar ng pag-update () kung nais mong magdagdag ng higit sa isang elemento sa mayroon nang hanay.

Halimbawa:

My_Set = {1, 's', 7.8} My_Set.update ([2,4.6,1, 'r']) My_Set

Output: {1, 2, 4.6, 7.8, ‘r’, ‘s’}

Tulad ng nakikita mo sa output sa itaas, ang pag-andar () na pagpapaandar ay kumukuha ng isang listahan ng 4 na halaga at lahat ng mga halaga maliban sa 1 ay idinagdag sa My_Set. Ito ay dahil ang 1 ay naroroon na sa hanay at samakatuwid, hindi ito maaaring maidagdag muli.

Pag-aalis ng Mga Elemento ng isang Set

Upang alisin ang mga elemento mula sa isang hanay, maaari mong gamitin ang alinman sa alisin (), itapon () at ang pop () pagpapaandar

Ang pag-andar na alisin () ay tumatagal ng isang parameter na kung saan ay ang item na aalisin mula sa hanay.

Halimbawa:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.remove (2) print (My_Set)

Output: {1, 4.6, 7.8, ‘r’, ‘s’}

Tulad ng nakikita mo, ang 2 ay tinanggal mula sa hanay na ginagamit ang pag-alis () na pagpapaandar. Kung sakaling tinukoy mo ang ilang elemento bilang isang parameter upang alisin () na wala sa hanay, magtatapon ito ng isang error.

Ngayon, kung nais mong alisin ang ilang elemento mula sa hanay, at kung hindi ka sigurado kung ang sangkap na iyon ay talagang nasa set o hindi, maaari mong gamitin ang function na itapon (). Dadalhin ng pagpapaandar na ito ang elemento na aalisin mula sa itinakda bilang isang parameter ngunit kung sakaling wala ang elemento, hindi ito nagtatapon ng isang error.

Halimbawa:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.discard (4.6) My_Set.discard ('i') print (My_Set)

Output: {1, 2, 7.8, ‘r’, ‘s’}

Ipinapakita ng output sa itaas na 4.6 ay tinanggal mula sa My_Set ngunit ang itapon () ay hindi nagtapon ng isang error kapag ginamit ko ang My_Set.discard (‘i’) kahit na ang ‘i’ ay wala sa aking set.

Inaalis din ng pagpapaandar ng pop () ang mga itinakdang elemento, ngunit dahil ang isang hanay ay hindi naayos, hindi mo malalaman kung aling elemento ang tinanggal.

Halimbawa:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.pop () print (My_Set)

Output: {2, 4.6, 7.8, ‘r’, ‘s’}

Ipinapakita ng output na, gamit ang pop () ilang elemento ng random na tinanggal, na sa kasong ito ay 1.

Ngayon, kung nais mong tanggalin ang lahat ng mga elemento na naroroon sa isang hanay, maaari mong gamitin ang malinaw () paraan

Halimbawa:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.clear () print (My_Set)

Output: itakda()

Tulad ng nakikita mo sa output sa itaas, ang My_Set ay isang walang laman na hanay.

Kung sakaling nais mong ganap na tanggalin ang hanay, maaari mong gamitin ang ng keyword.

Halimbawa:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} del My_Set print (My_Set)

Kapag pinatakbo mo ang code sa itaas, magtatapon ito ng isang error dahil tinanggal ang My_Set.

Maaari mo ring gampanan ang iba't ibang mga pagpapatakbo ng matematika sa isang hanay tulad ng unyon, interseksyon, pagkakaiba, atbp na tinalakay sa ibaba.

Union of Sets

Ang unyon ng mga hanay ay tumutukoy sa pagsasama-sama ng dalawa o higit pang mga hanay sa isang solong hanay sa pamamagitan ng pagdaragdag ng lahat ng mga natatanging elemento na naroroon sa parehong mga hanay. Maaari itong magawa sa dalawang paraan:

  • Paggamit ng pipeline
  • Paggamit ng pag-andar ng unyon ()

Paggamit ng simbolo ng pipeline:

Ang dalawang mga hanay ay maaaring pagsamahin gamit ang | simbolo tulad ng sumusunod:

Halimbawa:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = a | b print (a | b)

Output: {1, 2, 4.6, 5, 7.8, 'r', 'abc', 's', 'd'}

Tulad ng nakikita mo, sa output sa itaas, ang isang unyon ng set a at set b ay nakaimbak sa isang bagong set c. Maaari mong pagsamahin ang higit sa dalawang mga set pati na rin gamit ang | simbolo.

Halimbawa:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,5} d = a | b | c print (d)

Output:

{1, 2, 3, 4, 4.6, 5, 7.8, 'abc', 'd', 'r', 's'}

Paggamit ng unyon () na pamamaraan:

Upang mapagsama ang dalawa o higit pang mga hanay, maaari mong gamitin ang unyon () na pamamaraan tulad ng sumusunod:

Halimbawa:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {'m', 23,76,4.7} print (' Magtakda ng isang U b = ', a.union (b)) print (' Set a U b U c = ', a.union (b, c))

Output:

Magtakda ng U b = {1, 2, 4.6, 5, 7.8, 'r', 'abc', 's', 'd'}

Magtakda ng U b U c = {1, 2, 4.6, 5, 4.7, 7.8, 'r', 76, 23, 'abc', 'm', 's', 'd'}

Ipinapakita ng output sa itaas na ang d ay isang unyon ng mga set a, b at c.

Pagitan ng Mga Sets

Ang intersection ng dalawa o higit pang mga hanay ay isang bagong hanay na binubuo lamang ng mga karaniwang elemento na naroroon sa mga hanay na iyon.

Maaari itong magawa sa dalawang paraan:

  • Paggamit ng simbolong ‘&’
  • Paggamit ng intersection () function

Paggamit ng simbolong ‘&’:

Maaari mong matukoy ang intersection ng dalawa o higit pang mga set gamit ang simbolong ‘&’ tulad ng sumusunod:

Halimbawa:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,} print (a & b) print (a & b & c)

Output:

{2, 5} {2}

Ipinapakita ng output sa itaas ang pagsasama ng mga set a, b at c.

Paggamit ng intersection () function:

Maaari mong matukoy ang intersection ng dalawa o higit pang mga set gamit ang intersection () function tulad ng sumusunod:

Halimbawa:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Magtakda ng intersection b = ', a.intersection (b)) print (' Magtakda ng intersection b intersection c = ', a.intersection (b, c))

Output:

Magtakda ng intersection b = {2, 5}

Magtakda ng intersection b intersection c = {2}

Ipinapakita ng output sa itaas ang intersection ng mga set a, b at c.

Pagkakaiba ng Mga Set:

Ang pagkakaiba-iba ng mga set ay gumagawa ng isang bagong hanay na binubuo ng mga elemento na naroroon lamang sa isa sa mga set na iyon. Nangangahulugan ito na ang lahat ng mga elemento maliban sa mga karaniwang elemento ng mga hanay na iyon ay ibabalik.

Maaari itong magawa sa dalawang paraan:

  • Gamit ang simbolong ‘-‘
  • Paggamit ng pagkakaiba () na pagpapaandar

Gamit ang simbolong ‘-‘:

Upang makita ang pagkakaiba ng dalawang mga hanay gamit ang simbolo na ‘-‘, maaari mong gawin ang mga sumusunod:

Halimbawa:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print (a-b-c)

Output: {1, 4.6, 7.8, ‘r’, ‘s’}

Ang output ay binubuo ng lahat ng mga elemento ng itinakdang 'a' maliban sa mga naroroon sa 'b' at 'c'.

Gamit ang pagkakaiba () na pagpapaandar:

Maaaring matukoy ang pagkakaiba ng mga set gamit ang built-in na pagkakaiba () na pag-andar tulad ng sumusunod:

Halimbawa:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Magtakda ng - b = ', a. pagkakaiba (b)) i-print (' Itakda ang isang - b - c = ', a. pagkakaiba (b, c))

Output:

Itakda ang isang - b = {1, 4.6, 7.8, ‘r’, ‘s’}

Itakda ang isang - b - c = {1, 4.6, 7.8, ‘r’, ‘s’}

Ang output sa itaas ay ang resulta para sa pagkakaiba gamit ang pagkakaiba () na pagpapaandar.

Paano kung hindi mo nais na baguhin ang mga elemento ng iyong hanay, maaari kang gumamit ng mga nakapirming hanay na tinalakay sa ibaba.

Ano ang isang nakapirming hanay?

Ang isang nakapirming hanay sa Python ay isang hanay na ang mga halaga ay hindi maaaring mabago. Nangangahulugan ito na hindi nababago hindi katulad ng isang normal na hanay na tinalakay ko dati. Ang mga frozen set ay makakatulong na maglingkod bilang isang susi sa mga pares ng key-halaga ng diksyunaryo.

Paano lumikha ng mga nakapirming hanay?

Ang mga frozen set ay maaaring makuha gamit ang pamamaraang pabalik-balik (). Ang pagpapaandar na ito ay tumatagal ng anumang mga umuulit na mga item at nag-convert ito sa hindi nababago.

Halimbawa:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = froillionet (a) print (b)

Output: pabalik-balik ({1, 2, 4.6, 5, 7.8, 'r', 's'})

Ang output sa itaas ay binubuo ng set b na kung saan ay isang nakapirming bersyon ng set a.

Pag-access sa Mga Elemento ng isang Frozen Set

Ang mga elemento ng isang nakapirming hanay ay maaaring ma-access sa pamamagitan ng pag-loop sa pamamagitan nito tulad ng sumusunod:

Halimbawa:

b = froillionet ([1, 2, 4.6, 5, 7.8, 'r', 's']) para sa x in b: print (x)

Output:

isa
2
4.6
5
7.8
s

gamit ang r para sa pag-aaral ng makina
Ipinapakita ng output sa itaas na ang paggamit ng for loop, lahat ng mga elemento ng nakapirming set b ay isa-isang naibalik. Ang mga frozen set ay hindi nababago, samakatuwid, hindi ka maaaring magsagawa ng mga pagpapatakbo tulad ng pagdaragdag (), alisin (), pag-update (), atbp. Inaasahan mong malinaw ka sa lahat ng naibahagi sa iyo sa tutorial na ito. Dinadala tayo nito sa pagtatapos ng aming artikulo sa Sets in Python. Tiyaking nagsasanay ka hangga't maaari at ibalik ang iyong karanasan.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na 'Sets in Python' at babalikan ka namin sa lalong madaling panahon.

Upang makakuha ng malalim na kaalaman sa Python kasama ang iba't ibang mga application nito, maaari kang magpatala nang live na may 24/7 na suporta at habambuhay na pag-access.