Python ရှိ စာရင်း (array) မှ အစိတ်အပိုင်းများကို ဖယ်ရှားခြင်း- clear(), pop(), remove(), del

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

Python ရှိ အမျိုးအစားစာရင်း၏ စာရင်း (array) တစ်ခုမှ အစိတ်အပိုင်းတစ်ခုကို ဖယ်ရှားရန်၊ စာရင်းနည်းလမ်းများကို clear(), pop() နှင့် remove() ကို အသုံးပြုပါ။ အညွှန်း သို့မဟုတ် အချပ်ကို အသုံးပြု၍ စာရင်း၏ အနေအထားနှင့် အပိုင်းအခြားကိုလည်း သတ်မှတ်နိုင်ပြီး del ကြေညာချက်ကို အသုံးပြု၍ ၎င်းကို ဖျက်နိုင်သည်။

အောက်ပါအချက်အလက်များကို ဤနေရာတွင် ဖော်ပြပေးထားပါသည်။

  • အစိတ်အပိုင်းအားလုံးကို ဖယ်ရှားပါ။:clear()
  • သတ်မှတ်ထားသော အနေအထားတွင် အစိတ်အပိုင်းတစ်ခုကို ဖျက်ပြီး ၎င်း၏တန်ဖိုးကို ရယူပါ။:pop()
  • သတ်မှတ်ထားသောတန်ဖိုးဖြင့် အစိတ်အပိုင်းများကို ရှာဖွေပြီး ပထမဒြပ်စင်ကို ဖယ်ရှားသည်။:remove()
  • အညွှန်းအချပ်တွင် နေရာနှင့် အပိုင်းအခြားကို သတ်မှတ်ခြင်းဖြင့် ဖျက်ခြင်း။:del
  • သတ်မှတ်ချက်များနှင့် ကိုက်ညီသော အစိတ်အပိုင်းများစွာကို အသုတ်လိုက် ဖျက်ပါ။:စာရင်းပါဝင်မှု ညွှန်ပြချက်

စာရင်းများသည် မတူညီသော ဒေတာများကို သိမ်းဆည်းနိုင်ပြီး arrays များနှင့် အတိအကျကွဲပြားသည်ကို သတိပြုပါ။ မှတ်ဉာဏ်အရွယ်အစား သို့မဟုတ် မှတ်ဉာဏ်လိပ်စာ လိုအပ်သည့် လုပ်ငန်းစဉ်များအတွက် သို့မဟုတ် ကြီးမားသောဒေတာ၏ ကိန်းဂဏာန်းတွက်ချက်မှုများအတွက် ခင်းကျင်းမှုများကို သင်ကိုင်တွယ်လိုသောအခါတွင် အခင်းအကျင်း (စံပြစာကြည့်တိုက်) သို့မဟုတ် NumPy ကို အသုံးပြုပါ။

အစိတ်အပိုင်းအားလုံးကို ဖယ်ရှားပါ။:clear()

စာရင်းနည်းလမ်းတွင် clear() မှ အစိတ်အပိုင်းအားလုံးကို ဖယ်ရှားပြီး ဗလာစာရင်းကို ဖြစ်ပေါ်စေသည်။

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

l.clear()
print(l)
# []

သတ်မှတ်ထားသော အနေအထားတွင် အစိတ်အပိုင်းတစ်ခုကို ဖျက်ပြီး ၎င်း၏တန်ဖိုးကို ရယူပါ။:pop()

စာရင်းတစ်ခု၏ method pop() ကို သတ်မှတ်ထားသော အနေအထားတွင် element တစ်ခုကို ဖျက်ရန်နှင့် ထို element ၏တန်ဖိုးကို ရယူရန် အသုံးပြုနိုင်သည်။

ပထမ (ကနဦး) နံပါတ်သည် 0 ဖြစ်သည်။

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(l.pop(0))
# 0

print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

print(l.pop(3))
# 4

print(l)
# [1, 2, 3, 5, 6, 7, 8, 9]

အဆုံး (နောက်ဆုံး) မှ အနေအထားကို သတ်မှတ်ရန် အနုတ်တန်ဖိုးကိုလည်း သုံးနိုင်သည်။ အဆုံး (နောက်ဆုံး) မှာ-၁။

print(l.pop(-2))
# 8

print(l)
# [1, 2, 3, 5, 6, 7, 9]

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

print(l.pop())
# 9

print(l)
# [1, 2, 3, 5, 6, 7]

မရှိသော အနေအထားကို သတ်မှတ်ခြင်းသည် အမှားအယွင်းတစ်ခု ဖြစ်လာလိမ့်မည်။

# print(l.pop(100))
# IndexError: pop index out of range

ပထမဒြပ်စင်ကိုဖယ်ရှားသည့် pop(0) သည် အောက်ပါကုန်ကျစရိတ် လိုအပ်ပြီး ထိရောက်သောလုပ်ဆောင်မှုမဟုတ်ကြောင်း သတိပြုပါ။ စာရင်းများရှိ အမျိုးမျိုးသော လုပ်ဆောင်မှုများ၏ တွက်ချက်မှုဆိုင်ရာ ရှုပ်ထွေးမှုအတွက် တရားဝင် wiki တွင် အောက်ပါစာမျက်နှာကို ကြည့်ပါ။
O(n)

O(1)deque အမျိုးအစားကို ဤကုန်ကျစရိတ်ဖြင့် ထိပ်တန်းသို့ အစိတ်အပိုင်းများကို ဖျက်ပစ်သည့် အမျိုးအစားအဖြစ် Standard library collections module တွင် ပေးထားသည်။ ဥပမာအားဖြင့်၊ သင်သည် ဒေတာကို တန်းစီခြင်း (FIFO) အဖြစ် ဆက်ဆံလိုပါက deque ကို အသုံးပြုရန် ပိုမိုထိရောက်သည်။

သတ်မှတ်ထားသောတန်ဖိုးဖြင့် အစိတ်အပိုင်းများကို ရှာဖွေပြီး ပထမဒြပ်စင်ကို ဖယ်ရှားသည်။:remove()

သတ်မှတ်ထားသည့်တန်ဖိုးအတိုင်း တူညီသောတန်ဖိုးရှိသော ဒြပ်စင်များကို ရှာဖွေရန်နှင့် ပထမဒြပ်စင်ကို ဖယ်ရှားရန် စာရင်းနည်းလမ်းကို remove() ကို အသုံးပြုနိုင်သည်။

l = ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']

l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']

စာရင်းတွင် သတ်မှတ်ထားသောတန်ဖိုးနှင့် ကိုက်ညီသော ဒြပ်စင်တစ်ခုထက်ပိုပါက၊ ပထမတစ်ခုကိုသာ ဖယ်ရှားပါမည်။

l.remove('Bob')
print(l)
# ['Charlie', 'Bob', 'Dave']

မရှိသောတန်ဖိုးကို သတ်မှတ်ပါက အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်သည်။

# l.remove('xxx')
# ValueError: list.remove(x): x not in list

အညွှန်းအချပ်တွင် နေရာနှင့် အပိုင်းအခြားကို သတ်မှတ်ခြင်းဖြင့် ဖျက်ခြင်း။:del

စာရင်းမှဒြပ်စင်များကိုဖယ်ရှားရန် del ထုတ်ပြန်ချက်ကိုလည်း သင်အသုံးပြုနိုင်ပါသည်။

၎င်း၏အညွှန်းအားဖြင့် ဖျက်ပစ်မည့် အစိတ်အပိုင်းကို သတ်မှတ်ပါ။ ပထမ (ကနဦး) အညွှန်းသည် 0 ဖြစ်ပြီး နောက်ဆုံး (နောက်ဆုံး) အညွှန်းမှာ -1 ဖြစ်သည်။

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

del l[0]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

del l[-1]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8]

del l[6]
print(l)
# [1, 2, 3, 4, 5, 6, 8]

အချပ်များဖြင့် အပိုင်းအခြားတစ်ခုကို သတ်မှတ်ပါက၊ အစိတ်အပိုင်းများစွာကို တစ်ပြိုင်နက် ဖျက်နိုင်သည်။

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

del l[2:5]
print(l)
# [0, 1, 5, 6, 7, 8, 9]

l = list(range(10))
del l[:3]
print(l)
# [3, 4, 5, 6, 7, 8, 9]

l = list(range(10))
del l[4:]
print(l)
# [0, 1, 2, 3]

l = list(range(10))
del l[-3:]
print(l)
# [0, 1, 2, 3, 4, 5, 6]

အကွာအဝေးတစ်ခုလုံးကို သတ်မှတ်နိုင်ပြီး ဒြပ်စင်အားလုံးကို ဖျက်ပစ်နိုင်သည်။

l = list(range(10))
del l[:]
print(l)
# []

[start:stop:step]ဤနည်းဖြင့် အချပ်ရှိ အပိုင်းအခြားကို သတ်မှတ်ပြီး တိုးမြင့်လာသော အဆင့်ကို သတ်မှတ်ပါက၊ ခုန်နေသော အစိတ်အပိုင်းများစွာကို တစ်ပြိုင်နက် ဖျက်နိုင်ပါသည်။

l = list(range(10))
del l[2:8:2]
print(l)
# [0, 1, 3, 5, 7, 8, 9]

l = list(range(10))
del l[::3]
print(l)
# [1, 2, 4, 5, 7, 8]

လှီးဖြတ်ခြင်းဆိုင်ရာ နောက်ထပ်အချက်အလက်များအတွက်၊ အောက်ပါဆောင်းပါးကို ကြည့်ပါ။

သတ်မှတ်ချက်များနှင့် ကိုက်ညီသော အစိတ်အပိုင်းများစွာကို အသုတ်လိုက် ဖျက်ပါ။:စာရင်းပါဝင်မှု ညွှန်ပြချက်

အခြေအနေများကိုကျေနပ်စေသောဒြပ်စင်များကိုဖယ်ရှားခြင်းလုပ်ငန်းစဉ်သည်အခြေအနေများကိုမကျေနပ်သောဒြပ်စင်များကိုထုတ်ခြင်း (ထုတ်ယူခြင်း) လုပ်ငန်းစဉ်နှင့်ညီမျှသည်။ ဤလုပ်ဆောင်မှုမျိုးအတွက် စာရင်းနားလည်မှုမှတ်စုကို အသုံးပြုသည်။

ထူးဆန်းသော သို့မဟုတ် ပင်ဒြပ်စင်များ (= အတောင် သို့မဟုတ် ထူးဆန်းသောဒြပ်စင်များ) ကို ဖယ်ရှားခြင်း၏ ဥပမာကို အောက်တွင် ပြထားသည်။
%ဤသည်မှာ အကြွင်းအော်ပရေတာဖြစ်သည်။
i % 2
ဒါက အကြွင်းကို ၂ နဲ့ ခွဲတယ်။

စာရင်းနားလည်မှုမှတ်စုတွင် စာရင်းအသစ်တစ်ခုကို ဖန်တီးထားသည်။ ယခုအချိန်အထိ မိတ်ဆက်ပေးခဲ့သည့် စာရင်းအမျိုးအစားနည်းလမ်းများနှင့် မတူဘဲ၊ မူလစာရင်းသည် မပြောင်းလဲသေးပါ။

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print([i for i in l if i % 2 == 0])
# [0, 2, 4, 6, 8]

print([i for i in l if i % 2 != 0])
# [1, 3, 5, 7, 9]

print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

အခြားဥပမာများ။ အခြေအနေအလိုက် ဖော်ပြချက်ပေါ် မူတည်၍ လုပ်ဆောင်မှု အမျိုးမျိုး ဖြစ်နိုင်သည်။

l = ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'David']

print([s for s in l if s != 'Bob'])
# ['Alice', 'Charlie', 'David']

print([s for s in l if s.endswith('e')])
# ['Alice', 'Charlie']

ထပ်နေသောဒြပ်စင်များကို ဖယ်ရှားလိုပါက၊ သတ်မှတ်ပုံစံကို အသုံးပြုပါ။

print(list(set(l)))
# ['David', 'Alice', 'Charlie', 'Bob']