Python တွင် စာရင်းနှစ်ခုကို ချုံ့နည်း


မကြာခဏဆိုသလို Python တွင် စာရင်းနှစ်ခုကို ချုံ့ခြင်း (သို့မဟုတ် “ ပေါင်းစည်းခြင်း” ) ကို သင်စိတ်ဝင်စားပေမည်။ ကံကောင်းထောက်မစွာ၊ ၎င်းသည် zip() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ လုပ်ဆောင်ရန်လွယ်ကူသည်။

ဤသင်ခန်းစာတွင် ဤလုပ်ဆောင်ချက်ကို လက်တွေ့အသုံးပြုပုံ နမူနာများစွာကို ပြသထားသည်။

ဥပမာ 1- တူညီသောအရှည်စာရင်းနှစ်ခုကို စာရင်းတစ်ခုတည်းသို့ ချုံ့ပါ။

အောက်ပါ syntax သည် ညီမျှသော အရှည်စာရင်းနှစ်ခုကို တစ်ခုထဲသို့ ချုံ့နည်းကို ပြသသည်-

 #define list a and list b
a = ['a', 'b', 'c']
b = [1, 2, 3]

#zip the two lists together into one list
list( zip (a,b))

[('a', 1), ('b', 2), ('c', 3)]

ဥပမာ 2- တူညီသောအရှည်စာရင်းနှစ်ခုကို အဘိဓာန်တစ်ခုထဲသို့ ချုံ့ပါ။

အောက်ပါ syntax သည် တူညီသောအရှည်စာရင်းနှစ်ခုကို အဘိဓာန်တစ်ခုသို့ ချုံ့နည်းကိုပြသသည်-

 #define list of keys and list of values
keys = ['a', 'b', 'c']
values = [1, 2, 3]

#zip the two lists together into one dictionary
dict( zip (keys, values)) 

{'a': 1, 'b': 2, 'c': 3}

ဥပမာ 3- မညီမျှသော အရှည်စာရင်းနှစ်ခုကို ချုံ့ပါ။

သင့်စာရင်းနှစ်ခုသည် အရှည်မညီပါက၊ zip() ကို ပိုတိုသောစာရင်း၏အရှည်အဖြစ် ဖြတ်တောက်လိုက်မည်-

 #define list a and list b
a = ['a', 'b', 'c', 'd']
b = [1, 2, 3]

#zip the two lists together into one list
list( zip (a,b))

[('a', 1), ('b', 2), ('c', 3)]

zip() ကို အတိုဆုံးစာရင်း၏ အရှည်အထိ ဖြတ်တောက်ခြင်းမှ တားဆီးလိုပါက၊ ၎င်းအစား zip_longest() လုပ်ဆောင်ချက်ကို itertools ဒစ်ဂျစ်တိုက်မှ အသုံးပြုနိုင်သည်။

ပုံမှန်အားဖြင့်၊ ဤလုပ်ဆောင်ချက်သည် ပျောက်ဆုံးနေသောတန်ဖိုးများအတွက် “ None” တွင် ဖြည့်ပေးသည်-

 from itertools import zip_longest

#define list a and list b
a = ['a', 'b', 'c', 'd']
b = [1, 2, 3]

#zip the two lists together without truncating to length of shortest list
list( zip_longest (a, b))

[('a', 1), ('b', 2), ('c', 3), ('d', None)]

သို့သော်၊ အသုံးပြုရန် မတူညီသော ဖြည့်စွက်တန်ဖိုးကို သတ်မှတ်ရန် ဖြည့်စွက်တန်ဖိုး အငြင်းအခုံကို အသုံးပြုနိုင်သည်။

 #define list a and list b
a = ['a', 'b', 'c', 'd']
b = [1, 2, 3]

#zip the two lists together, using fill value of '0'
list( zip_longest (a, b, fillvalue= 0 ))

[('a', 1), ('b', 2), ('c', 3), ('d', 0)]

zip_longest() လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာနိုင်သည်။

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်