Jifunze Muundo wa Data ya Kamusi ya Python - Sehemu ya 3


Katika Sehemu hii ya 3 ya mfululizo wa Muundo wa Data ya Python, tutakuwa tukijadili kamusi ni nini, jinsi inavyotofautiana na muundo mwingine wa data katika chatu, jinsi ya kuunda, kufuta vipengee vya kamusi na mbinu za vipengee vya kamusi.

  • Kamusi ni utekelezaji uliojumuishwa wa \Muundo wa Data ya Python ambao ni mkusanyiko wa jozi za \Ufunguo: Thamani.
  • Kamusi imeundwa kwa kutumia viunga vilivyojipinda vyenye ufunguo na thamani ikitenganishwa na nusu koloni {Ufunguo : Value}.
  • Sawa na orodha, vipengee vya kamusi ni aina ya data inayoweza kubadilika kumaanisha kuwa vitu vinaweza kurekebishwa punde tu kamusi inapoundwa.
  • Muundo wa utekelezaji wa kamusi katika python kwa ujumla hujulikana kama \Associative array.
  • Katika orodha au nakala, tunaweza kufikia bidhaa kwa kurejelea nafasi zao za faharasa kwa sababu bidhaa zilizo ndani ya orodha zimeagizwa (yaani, Zimehifadhiwa kwa mpangilio ulivyoundwa). Vipengee vya kamusi vinaweza kuwa katika mpangilio wowote kwa vile vipengee vinafikiwa kwa kutumia \Ufunguo unaohusishwa.
  • Kamusi ni muhimu sana tunapolazimika kuhifadhi vitu na kurejelea kwa majina.
  • Kipengee \ufunguo cha Kamusi lazima kiwe aina ya kipekee na isiyoweza kubadilika.
  • Kipengee cha Kamusi \Ufunguo kinaweza kuwa kamba, Nambari kamili, thamani zinazoelea.
  • Kamusi \Thamani inaweza kuwa ya aina yoyote ya data.

Tengeneza Kitu cha Kamusi

Kipengee cha kamusi kinaweza kuundwa kwa kutumia viunga vilivyopindapinda vyenye ufunguo wa kutenganisha nusu koloni na jozi ya thamani \{Ufunguo:thamani} au \dict() mbinu ya kijenzi.

Ili kuonyesha, nitaunda kamusi ambayo itahifadhi data kuhusu timu ya soka na wachezaji wao wa XI kwa nafasi kama muhimu na majina ya wachezaji kama maadili.

Unaweza kutumia njia ya mjenzi dict() kuunda kitu cha kamusi.

Fikia Kitu cha Diktoni

Vipengee vya kamusi vinafikiwa na marejeleo ya \ufunguo badala ya kuorodhesha. Inawezekana kutumia uwekaji faharasa ikiwa tuna aina yoyote ya mfuatano wa data (kamba, orodha, nakala, n.k..) ndani ya kamusi.

Vipengee vinaweza kufikiwa kwa kutumia dic_object[\key].

\KeyError itatolewa ikiwa utajaribu kufikia vipengee vya kamusi kwa kuorodhesha au ukijaribu kufikia \ufunguo ambao si sehemu ya kamusi.

Rekebisha na Futa Kitu cha Kamusi

Unaweza kurekebisha kipengee kilichopo au kuongeza kipengee kipya kwa kurejelea moja kwa moja ufunguo wake wa Dictionary_object[\key] = thamani. Hii itasasisha thamani ikiwa ufunguo unapatikana vinginevyo ongeza kipengee kipya kwenye kamusi.

Unaweza kufuta thamani fulani kulingana na ufunguo wake au kufuta ufunguo au kufuta kipengee cha kamusi kutoka kwa nafasi ya majina kwa kutumia neno kuu la \del lililojumuishwa ndani.

Unaweza kutumia kitendakazi cha kujengea ndani \dir() kutafuta mbinu na sifa zinazopatikana za kipengee cha kamusi.

clear() - Njia hii itaondoa vitu vyote kutoka kwa kipengee cha kamusi. Njia hii haichukui hoja yoyote.

Copy() - Itarudisha nakala duni ya kitu cha kamusi. Njia ya nakala() haichukui vigezo vyovyote kama hoja.

Keys() - Njia hii inarudisha kitu cha kutazama kwa funguo zinazopatikana kwenye kamusi kama kitu muhimu cha kamusi. Njia hii haichukui hoja yoyote.

Values() - Njia hii inarudisha kitu cha kutazama kwa maadili kutoka kwa kitu cha kamusi. Njia hii haichukui hoja.

Items() - Njia hii inarudisha jozi ya tuple(ufunguo,thamani) kutoka kwa kitu cha kamusi.

Setdefault() - Njia hii hutafuta kitufe fulani kwenye kamusi. Ikiwa ufunguo haupatikani katika kamusi basi utaongezwa kwenye kamusi.
Inachukua hoja 2 dic.setdefault(ufunguo,[,thamani chaguomsingi]).

Thamani chaguo-msingi imewekwa kuwa Hakuna ikiwa hakuna thamani iliyobainishwa.

get() - Njia hii inarudisha thamani ya ufunguo maalum ikiwa ufunguo unapatikana katika kamusi.

Syntax dict.get(key[, value]) 

Njia hii inachukua hoja 2. Kwanza ni hoja ya ingizo ambayo itatafuta ufunguo uliotolewa kwenye kamusi na kurudisha thamani ya ufunguo inapatikana. Hoja ya pili itarudisha thamani ikiwa ufunguo haupatikani. Thamani chaguo-msingi ya kurejesha imewekwa kuwa \Hakuna.

Sasisha() - Njia ya kusasisha ongeza vipengee kwenye kamusi ikiwa ufunguo hauko kwenye kamusi. Ufunguo ukipatikana ufunguo huo unasasishwa na thamani mpya. Mbinu ya kusasisha inakubali kipengele kingine cha kamusi cha k: jozi ya v au kitu kinachoweza kutekelezeka cha k: v jozi kama jozi ya nakala.

Kuondoa/Kufuta Kamusi Kitu

Pop() - Njia hii huondoa thamani kulingana na ufunguo kama ingizo na kurudisha thamani iliyoondolewa.

Njia hii inakubali vigezo viwili.

  1. Ufunguo - Kitufe cha kutafutwa katika kipengee cha kamusi.
  2. Chaguo-msingi - Thamani ya kurejesha itabainishwa ikiwa ufunguo haupatikani kwenye kamusi.

KUMBUKA Ikiwa ufunguo haupatikani kwenye kamusi na ukishindwa kubainisha thamani chaguo-msingi basi \KeyError itatolewa.

Popitem() - Huondoa vipengele vya kiholela kutoka kwa kitu cha kamusi. Hakuna hoja inayokubaliwa na inarejesha \KeyError ikiwa kamusi itasemekana kuwa tupu.

Kama vile orodha na nakala, tunaweza kutumia neno kuu la del kuondoa vipengee kwenye kipengee cha kamusi au kuondoa kipengee cha kamusi kwenye nafasi ya majina.

Katika nakala hii umeona kamusi ni nini na jinsi inavyotofautiana na miundo mingine ya data kwenye python. Pia umeona jinsi ya kuunda, kufikia, kurekebisha na kufuta vipengee vya kamusi.

Kesi bora ya utumiaji wa kamusi ni wakati tunapaswa kuhifadhi data kulingana na jina na kuirejelea kwa jina lake. Katika makala inayofuata, tutaona aina nyingine ya muundo wa data iliyojengewa ndani ya chatu \set/Frozenset. Kufikia wakati huo unaweza kusoma zaidi kuhusu kamusi hapa.