Array

အခု အေရးႀကီးတဲ့ အခန္းကို ေရာက္လာပါၿပီ။ Array ကို ေသေသခ်ာခ်ာ နားလည္ ဖို႔ လိုအပ္ပါတယ္။ နားမလည္တာေတြကို Github မွာ issue ဖြင့္ၿပီး ေမးႏိုင္ပါတယ္။

Array ဆိုတာ ဘာလဲ ?

Array ဆိုတာကေတာ့ variable ေတြ အမ်ားႀကီးကို သိမ္းထားတဲ့ variable တစ္ခုပါပဲ။ Array က variable ေတြကို အခန္းနဲ႔ သိမ္းပါတယ္။ နားလည္ေအာင္ ေျပာရရင္ေတာ့ variable ဆိုတာက ေရခြက္ တစ္ခု ဆိုပါေတာ့။ အဲဒီ ေရခြက္ကို ခဲလိုက္ရင္ ေရခဲ တစ္ခုပဲ ရမယ္။ Array ဆိုတာကေတာ့ ေရခဲ ခဲတဲ့ ခြက္ (ice cube trays) နဲ႕တူပါတယ္။ ေရခဲ ခဲ ဖို႔ အတြက္ အကန္႔ေလးေတြ ပါတယ္။ ေရခဲခဲ လိုက္ရင္ တစ္ခု ထက္ မက ၊ အခန္း ရွိသေလာက္ ေရခဲ ရႏိုင္ပါတယ္။

image http://en.wikipedia.org/wiki/Ice_cube

Array က အဲဒီလိုပါပဲ။ ကၽြန္ေတာ္တို႔ computer memory ေပၚမွာ သိမ္းဖို႔ အတြက္ အခန္းေလးေတြ ယူလိုက္တယ္။ ၿပီးေတာ့ အခန္းေတြ ထဲမွာ variable ေတြ ထည့္ၿပီး သိမ္းတယ္။ String array ဆိုရင္ေတာ့ String value ေတြ ပဲ ထည့္တဲ့ အခန္းေပါ့။ Integer array ဆိုရင္ေတာ့ Integer value ေတြပဲ ထည့္တဲ့ အခန္းေတြေပါ့။

အခန္းေတြကို ေရတြက္တဲ့ အခါမွာေတာ့ သုည ကေန စပါတယ္။ အခန္း ၃ ခန္း ရွိရင္ေတာ့ 0,1,2 ဆိုၿပီး ေရတြက္ပါတယ္။

Example

ဥပမာ code ေလးကို ၾကည့္ရေအာင္

list = [1,5,2,7,8,9,200,155] # First Room print(list[0]) # 9 will show print(list[5]) # Last Room print(list[7])

အထက္ပါ code မွာဆိုရင္ အခန္းေပါင္း 8 ခန္း ရွိပါတယ္။ အခန္း တစ္ခုျခင္းဆီမွာ နံပတ္ေတြ ထည့္ထားပါတယ္။

ပထမ အခန္းကို လိုခ်င္တဲ့ အခါမွာ list[0] လို႔ ဆိုၿပီး ေခၚသံုးထားပါတယ္။ အျခား အခန္းေတြ ကိုေတာ့ နံပတ္လိုက္ ေခၚထားတာကို ေတြ႕ႏိုင္ပါတယ္။

list = [1,5,2,7,8,9,200,155] #Total Room print("Total room in array is",len(list))

ဒီ code မွာဆိုရင္ေတာ့ Array တစ္ခုမွာ အခန္း ဘယ္ေလာက္ရွိလဲဆိုတာကို ထုတ္ျပထားတာပါ။

ကြ်န္ေတာ္တို႔ေတြ ထပ္ၿပီးေတာ့ အခန္းထဲမွာ ရွိတဲ့ data ေတြကို looping ပတ္ၿပီး ထုတ္ၾကည့္ရေအာင္။

list = [1,5,2,7,8,9,200,155] t = (1,2,3) for i in range(len(list)): print(list[i])

ေနာက္ထပ္ တဆင့္ အေနနဲ႔ အခန္းထဲမွာရွိတဲ့ နံပတ္ေတြ အားလံုးေပါင္း ရလဒ္ကို ထုတ္ၾကည့္ရေအာင္

list = [1,5,2,7,8,9,200,155] x = 0 for i in range(len(list)): x = x + list[i] print("Total:",x)

ကၽြန္ေတာ္တို႔ေတြ array အတြက္ loop ကို ေအာက္က code လိုမ်ဳိး python မွာ loop ပတ္လို႔ရပါတယ္။ တျခား langauge ေတြမွာ ဆိုရင္ေတာ့ for each loop လို႔ေခၚပါတယ္။

list = [1,5,2,7,8,9,200,155] x = 0 for i in list: x = x + i print("Total:",x)

အဓိပၸာယ္ကေတာ့ array အခန္းေတြက အစကေန အဆံုး ထိ loop ပတ္မယ္။ ေရာက္ေနတဲ့ index ထဲက data ကို i ထဲကို ထည့္မယ္။ အဲဒီ code မွာ ကြ်န္ေတာ္တို႔ေတြ လက္ရွိ index ကို မသိႏိုင္ပါဘူး။ for each loop ပတ္တဲ့ အခါမွာ လက္ရွိ index ပါ သိေအာင္ ေအာက္က code လိုမ်ဳိး ေရးလို႔ရပါတယ္။

list = [1,5,2,7,8,9,200,155] for (i,item) in enumerate(list): print("Index :",i,"And Value :",item)

Immutable And Mutable

Array မွာ ၂ မ်ဳိး ရွိတယ္။ မေျပာင္းလို႔ရတဲ့ Array နဲ႔ ေျပာင္းလဲလို႔ရတဲ့ Array Type ၂ ခု ရွိပါတယ္။

Python မွာကေတာ့ tuple နဲ႔ list ဆိုၿပီး ၂ မ်ဳိး ရွိတယ္။

tuple ကို လက္သည္းကြင္း နဲ႕ ေရးၿပီးေတာ့ list ကိုေတာ့ ေလးေထာင့္ ကြင္းနဲ႔ ေရးပါတယ္။

t = (1,2,3) # immutable
l = [1,2,3] # mutable

Tuple နဲ႔ ေရးထားရင္ေတာ့ အခန္း​ ေတြကို ေျပာင္းလဲလို႔ မရပါဘူး။ ဒါေပမယ့္ list ကေတာ့ အခန္းထဲက data ေတြကို ေျပာင္းလို႔ ရသလို အခန္း အသစ္ေတြ ထည့္တာ ဖ်က္တာ စတာေတြကို လုပ္လို႔ရပါတယ္။

Finding Max Number

အခု ကၽြန္ေတာ္တို႔ေတြ array အခန္းထဲက အႀကီးဆံုး ဂဏန္းကို ရွာတဲ့ code ေလး ေရးၾကည့္ရေအာင္။

list = [1048,1255,2125,1050,2506,1236,2010,1055] maxnumber = list[0] for x in list: if maxnumber < x : maxnumber = x print("MAX number in array is",maxnumber)

ဒီ code ေလးကို ၾကည့္ၾကည့္ပါ ရွင္းရွင္းေလးပါ။ ပထမဆံုး အခန္းကို အႀကီးဆံုးလို႔ သတ္မွတ္လိုက္တယ္။ ၿပီးရင္ အျခား အခန္းေတြနဲ႔ တိုက္စစ္တယ္။ ႀကီးတဲ့ ေကာင္ထဲကို maxnumber ဆိုၿပီး ထည့္ထည့္သြင္းထားတယ္။

ေနာက္ဆံုး looping ၿပီးသြားရင္ အႀကီးဆံုး ဂဏန္းကို ကၽြန္ေတာ္တို႔ေတြ သိရၿပီေပါ့။

Questions

  • Max Number လိုမ်ဳိး အငယ္ဆံုး ဂဏန္းကို ရွာတဲ့ code ေရးၾကည့္ပါ။
  • Array [3,4,1,2,9,7] ဆိုၿပီး ရွိပါသည္။ user ဆီက နံပတ္ကို လက္ခံၿပီး array အခန္းထဲေတြ ေတြ႕မေတြ႕ user ကို print ထုတ္ျပပါမည္။ ေတြ႕ခဲ့ပါက အခန္း ဘယ္ေလာက္မွာ ေတြ႕ခဲ့သည္ကို print ထုတ္ျပပါမည္။
  • Max number ကို ရွာပါ။ ဘယ္နံပတ္က အႀကီးဆံုးလဲ။ ဘယ္အခန္းမွာ ရွိတာလဲ ဆိုတာကို print ႐ိုက္ ျပပါ။

results matching ""

    No results matching ""