element တွေကိုအဘိဓာန်ထဲမှာထည့်ခြင်းနှင့် Python တွင်အဘိဓာန်များပူးပေါင်းခြင်း

စီးပွားရေးလုပ်ငန်း

ဤအပိုင်းသည် element အသစ်များအားအဘိဓာန် (dict type object) သို့မည်သို့ထည့်ရမည်သို့မဟုတ် Python ရှိရှိပြီးသားဒြပ်စင်၏တန်ဖိုးကိုမွမ်းမံပုံကိုရှင်းပြထားသည်။ အဘိဓာန်ပေါင်းများစွာကိုစုစည်း (ပေါင်းစည်း၊ ပေါင်းစည်းခြင်း) ကိုလည်းပြုလုပ်နိုင်သည်။

  • သော့များကိုသတ်မှတ်ခြင်းဖြင့်ဒြပ်စင်များကိုအဘိဓာန်သို့ထည့်သွင်းခြင်း
  • အဘိဓာန်ပေါင်းများစွာ၏ပေါင်းစည်းခြင်း (ပေါင်းစည်းခြင်း) – update (), | အော်ပရေတာ, | = အော်ပရေတာ
  • ဒြပ်စင်မျိုးစုံပေါင်းထည့်ခြင်းသို့မဟုတ်အသစ်ပြောင်းခြင်း – update (), | = operator

သော့များကိုသတ်မှတ်ခြင်းဖြင့်ဒြပ်စင်များကိုအဘိဓာန်သို့ထည့်သွင်းခြင်း

အဘိဓာန်ဒြပ်စင်များကိုအောက်ပါနည်းဖြင့်သင်ထည့်နိုင်သည်။

အဘိဓါန်အရာဝတ္ထု [key ကို] = တန်ဖိုးကို

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}

သော့၏တန်ဖိုးကိုသင်မွမ်းမံလိုပါက setdefault () နည်းလမ်းကိုအသုံးပြုပါ။

အဘိဓါန်များစွာကိုစုစည်း (ပေါင်းစည်း) – update (), | အော်ပရေတာ, | = အော်ပရေတာ

update()

အကယ်၍ အဘိဓာန်အရာဝတ္ထု၏ method update () ၏အငြင်းအခုံအဖြစ်အခြားအဘိဓာန်အရာဝတ္ထုတစ်ခုကိုသတ်မှတ်ခဲ့ပါက၎င်းကို၎င်း၏ element အားလုံးပေါင်းထည့်လိမ့်မည်။

အကယ်၍ သော့သည်ရှိပြီးသားသော့နှင့်ထပ်နေပါကအငြင်းပွားမှုတွင်ဖော်ပြထားသောအဘိဓါန်၏တန်ဖိုးနှင့်အစားထိုးလိမ့်မည်။

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update(d2)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

update () အငြင်းပွားမှုတွင်အဘိဓာန်အမြောက်အများကိုသတ်မှတ်ခြင်းသည်မှားသည်။

d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

# d1.update(d2, d3)
# TypeError: update expected at most 1 arguments, got 2

နောက်ပိုင်းတွင်ရှင်းပြခဲ့သည့်အတိုင်း update () သည် keyword argument များအဖြစ် element အသစ်များကိုထည့်နိုင်သည် (key = value) ။ အဘိဓါန်ထဲမှ ** ကိုထည့်ပြီး element တစ်ခုချင်းစီကို keyword argument အဖြစ်တိုးချဲ့ပြီး၎င်းကိုလွှဲပေးနိုင်သည်။

d1.update(**d2, **d3)
print(d1)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}

ယခင်ဥပမာများကဲ့သို့ပင် update () ကိုအသုံးပြုခြင်းသည်မူလအဘိဓာန်အရာဝတ္ထုကို update လုပ်လိမ့်မည်။

အဘိဓာန်များစွာကိုပေါင်းစည်းခြင်းဖြင့်အဘိဓါန်အဘိဓာန်အသစ်တစ်ခုကိုထုတ်လုပ်လိုပါက {** d1, ** d2} (Python 3.5 မှ) သို့မဟုတ် dict (** d1, ** d2) ကိုသုံးပါ။

Python 3.9 နှင့်နောက်ပိုင်းတွင် | ။ သုံး၍ အဘိဓါန်အဘိဓါန်အသစ်တစ်ခုကိုဖန်တီးရန်လည်းဖြစ်နိုင်သည် အော်ပရေတာကဆက်ပြောသည်။

| operator, | = operator (Python 3.9 နှင့်နောက်ပိုင်း)

Python 3.9 ကတည်းကအဘိဓာန်နှစ်ခုကို။ | သုံးပြီးပေါင်းစပ်လို့ရပါတယ် အော်ပရေတာ။ အဘိဓာန် (၂) ခုသည်တူညီသောသော့ရှိလျှင်ညာဘက်ရှိတန်ဖိုးသည် ဦး စားပေးဖြစ်သည်။

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

print(d1 | d2)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

print(d2 | d1)
# {'k1': 1, 'k3': 3, 'k4': 4, 'k2': 2}

အော်ပရေတာအမြောက်အများကို အသုံးပြု၍ အဘိဓာန်ပေါင်းများစွာကိုပေါင်းစပ် ၍လည်း ဖြစ်နိုင်သည်။

d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}

print(d1 | d2 | d3)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}

update () နှင့်အမျှလက်ဝဲဘက်ရှိအရာဝတ္ထုကိုအသစ်ပြုပြင်သည်။

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1 |= d2
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

ဒြပ်စင်မျိုးစုံပေါင်းထည့်ခြင်းသို့မဟုတ်အသစ်ပြောင်းခြင်း – update (), | = operator

update()

update () method တွင်သော့ချက်စာလုံး argument argument = value ကိုသတ်မှတ်သောအခါ key key နှင့် value value ကိုထပ်ထည့်လိမ့်မည်။ အကယ်၍ သော့သည်ရှိပြီးသားသော့နှင့်ထပ်နေပါက၎င်းသည်အငြင်းအခုံတွင်သတ်မှတ်ထားသောတန်ဖိုးနှင့်ပြန်လည်အစားထိုးလိမ့်မည်။

d = {'k1': 1, 'k2': 2}

d.update(k1=100, k3=3, k4=4)
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

update () နည်းလမ်းအတွက်အငြင်းအခုံအဖြစ် (key, value) စာရင်းတစ်ခုကိုသတ်မှတ်ရန်လည်းဖြစ်နိုင်သည်။ အကယ်၍ သော့သည်ရှိပြီးသားသော့နှင့်ထပ်နေသည်ဆိုလျှင်၎င်းသည် argument အဖြစ်သတ်မှတ်ထားသောတန်ဖိုးနှင့်ပြန်လည်အစားထိုးလိမ့်မည်။

d = {'k1': 1, 'k2': 2}

d.update([('k1', 100), ('k3', 3), ('k4', 4)])
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

zip () function နှင့် တွဲဖက်၍ element များကိုသော့နှင့်စာရင်းတစ်ခုမှထည့်နိုင်သည်။

d = {'k1': 1, 'k2': 2}

keys = ['k1', 'k3', 'k4']
values = [100, 3, 4]

d.update(zip(keys, values))
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

| = operator (Python ၃.၉ နှင့်နောက်ပိုင်း)

| = operator နှင့်အတူ (key, value) စာရင်းကိုလက်ျာဘက်၌သတ်မှတ်နိုင်သည်။

d = {'k1': 1, 'k2': 2}

d |= [('k1', 100), ('k3', 3), ('k4', 4)]
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

| နှင့်အတူစာရင်းတစ်ခုသတ်မှတ်ခြင်းသတိပြုပါ အော်ပရေတာအမှားတစ်ခုဖြစ်ပေါ်လိမ့်မည် အဘိဓါန်မှ to-dictionary ကိုသာထောက်ပံ့သည်။

# print(d | [('k1', 100), ('k3', 3), ('k4', 4)])
# TypeError: unsupported operand type(s) for |: 'dict' and 'list'
Copied title and URL