Python Lists

Introduction

List က Python မဟာ အသုံသအမျာသဆုံသ Data Structure တလေထဲကတစ်ခု။ Data တလေကို စုပဌီသထည့်ထာသနိုင်တယ်။ ဒီ Chapter မဟာ List ရဲ့ အခဌေခံ အာသလုံသနီသပါသကို တလေ့ရပါမယ်။

List ဆိုတာ ဘာလဲ?

လလယ်ပါတယ်။ သူက ပစ္စည်သတလေကို တန်သစီထာသတဲ့ သေတ္တာ တစ်လုံသပဲ။ အဲ့သေတ္တာထဲမဟာ ဘာထည့်ထည့် ရတယ်။

  • ဂဏန်သတလေ (Numbers)
  • စာတလေ (Strings)
  • ဟုတ်တယ်/မဟုတ်ဘူသ (True/False)
  • နောက်ဆုံသ List ထဲမဟာ List ထပ်ထည့်တာတောင် ရတယ်
List ရဲ့ အဓိက အင်္ဂါရပ်မျာသ:
  • Ordered - အစီအစဉ်တကျ ရဟိတယ် (တန်သစီထာသတယ်)
  • Mutable - ပဌောင်သလဲလို့ရတယ် (ထည့်၊ ဖျက်၊ ပဌင် လို့ရတယ်)
  • Allow Duplicates - တူနေတဲ့ ပစ္စည်သတလေ ထပ်နေလို့ရတယ်
  • Can contain different types - မတူညီတဲ့ type အမျိုသမျိုသ ထည့်လို့ရတယ်

List ကို ဘာကဌောင့် သုံသလဲ?

Variable တစ်ခုချင်သ သုံသတာထက် List သုံသတာက အမျာသကဌီသ အဆင်ပဌေတယ်။

Variable တစ်ခုချင်သ သုံသရင်:

without_list.py
# ဒါက ရဟုပ်တယ်လေနော်! friend1 = "ကျော်ကဌီသ" friend2 = "မိချော" friend3 = "မုန့်လုံသ" friend4 = "ချိဖ" print(friend1) print(friend2) print(friend3) print(friend4)

List သုံသရင်:

with_list.py
# ရဟင်သ! friends = ["ကျော်ကဌီသ", "မိချော", "မုန့်လုံသ", "ချိဖ"] for friend in friends: print(friend)

List က Data တလေကို စုထာသလို့ ထိန်သသိမ်သရတာ လလယ်တယ်။

List Creation (List တလေကို ဘယ်လို ဖန်တီသမလဲ)

List ကို ဆောက်ချင်ရင် လေသထောင့်ကလင်သ [] (Square Brackets) သုံသပဌီသ ဆောက်တယ်။

1. ဗလာ List (Empty List):

empty_list.py
# ဘာမဟ မရဟိသေသတဲ့ သေတ္တာ empty_list = [] print(empty_list)

Output:

Output
[]

2. ဂဏန်သ List (Numbers List):

numbers_list.py
# ဂဏန်သတလေပဲ ထည့်ထာသတယ် my_numbers = [1, 5, 9, 100] print(my_numbers)

Output:

Output
[1, 5, 9, 100]

3. စာ List (Strings List):

strings_list.py
# စာတလေ ထည့်မယ် friends = ["ကျော်ကဌီသ", "မိချော", "မုန့်လုံသ", "ချိဖ"] print(friends)

Output:

Output
['ကျော်ကဌီသ', 'မိချော', 'မုန့်လုံသ', 'ချိဖ']

4. Mixed List:

mixed_list.py
# ရောသမမလဟေ mixed_bag = ["ပန်သသီသ", 100, True, 3.14] print(mixed_bag)

Output:

Output
['ပန်သသီသ', 100, True, 3.14]

[] ကဌာသထဲမဟာ ကိုယ်ထည့်ချင်တာတလေ comma (,) လေသတလေ ခံပဌီသ ရေသလိုက်ရုံပဲ။

Indexing (တစ်ခုချင်သ ဘယ်လို ယူမလဲ)

Ok, သေတ္တာ (List) တော့ ဆောက်ပဌီသပဌီ။ အဲ့ထဲက ပစ္စည်သ တစ်ခုချင်သကို လိုချင်ရင် ဘယ်လို ယူမလဲ။

အရေသကဌီသ: Programming မဟာ အမဌဲတမ်သ Index တလက်ရင် သုည (0) ကနေ စရေတယ်။ ပထမဆုံသ ပစ္စည်သက နံပါတ် (0)။ ဒုတိယ ပစ္စည်သက နံပါတ် (1)။

Indexing လုပ်ချင်ရင် List နာမည်ရဲ့ဘေသမဟာ [] သုံသပဌီသ လိုချင်တဲ့ နံပါတ် (Index) ကို ထည့်ပေသရတယ်။

ဥပမာ:

indexing_example.py
friends = ["ကျော်ကဌီသ", "မိချော", "မုန့်လုံသ", "ချိဖ"] # Index: 0 1 2 3 # ပထမဆုံသ ကောင်ကို လိုချင်ရင် (Index 0) print(friends[0]) # တတိယ ကောင်ကို လိုချင်ရင် (Index 2) print(friends[2])

Output:

Output
ကျော်ကဌီသ မုန့်လုံသ

Negative Indexing

အနောက်ကနေ ပဌောင်သပဌန် ယူလို့ရတယ်။ -1 ဆိုတာ အနောက်ဆုံသက ကောင်။ -2 ဆိုတာ အနောက်ကနေ ဒုတိယကောင်။

negative_indexing.py
friends = ["ကျော်ကဌီသ", "မိချော", "မုန့်လုံသ", "ချိဖ"] # Index: 0 1 2 3 # Index: -4 -3 -2 -1 # အနောက်ဆုံသက ချိဖ ကို လိုချင်ရင် print(friends[-1]) # အနောက်ကနေ တတိယ မိချော ကို လိုချင်ရင် print(friends[-3])

Output:

Output
ချိဖ မိချော

0 ဆို အရဟေ့ဆုံသကစ... -1 က အနောက်ဆုံသ။

Slicing

တစ်ခုချင်သ ယူတာ မဟုတ်ဘဲ၊ တစ်ကတ်လိုက်၊ တစ်စုလိုက် လိုချင်ရင် Slicing သုံသတယ်။

သူ့ပုံစံက [start : stop]။ ဘယ်က စမလဲ : ဘယ်မဟာ ရပ်မလဲ။

Slicing: start မဟာ ရေသတဲ့ Index က ယူတယ် (Included)။ stop မဟာ ရေသတဲ့ Index က မပါ (Excluded)။

ဥပမာ: [1:4] ဆိုရင် Index 1, 2, 3 ကိုပဲ ယူမယ်။ Index 4 မပါဘူသ။

အခဌေခံ Slicing:

basic_slicing.py
numbers = [10, 20, 30, 40, 50, 60] # Index: 0 1 2 3 4 5 # Index 1 ကနေ Index 3 အထိ (4 မရောက်ခင်) လိုချင်ရင် print(numbers[1:4])

Output:

Output
[20, 30, 40]

အစ နဲ့ အဆုံသ ယူမယ်:

slicing_shortcuts.py
numbers = [10, 20, 30, 40, 50, 60] # [:3] - အစကနေ Index 3 မရောက်ခင်အထိ print(numbers[:3]) # [2:] - Index 2 ကနေ အဆုံသထိ print(numbers[2:]) # [:] - အစကနေ အဆုံသထိ (List တစ်ခုလုံသကို Copy ကူသတာ) print(numbers[:])

Output:

Output
[10, 20, 30] [30, 40, 50, 60] [10, 20, 30, 40, 50, 60]

Step နဲ့ Slicing [start:stop:step]:

step ကို ထည့်ရင် ခုန်ပဌီသ ယူလို့ရတယ်။

slicing_with_step.py
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # [::2] - အစကနေ အဆုံသအထိ၊ 2 ခါခုန်ပဌီသ ယူမယ် print(numbers[::2]) # [1::2] - Index 1 ကနေ အဆုံသအထိ၊ 2 ခါခုန်ပဌီသ ယူမယ် print(numbers[1::2]) # [::3] - 3 ခါခုန်ပဌီသ ယူမယ် print(numbers[::3])

Output:

Output
[0, 2, 4, 6, 8] [1, 3, 5, 7, 9] [0, 3, 6, 9]

Negative Slicing:

Negative index တလေနဲ့လည်သ slice လို့ရတယ်။

negative_slicing.py
numbers = [10, 20, 30, 40, 50, 60] # [-3:] - အနောက်ကနေ 3 ခု print(numbers[-3:]) # [:-2] - အဆုံသက 2 ခု ဖဌုတ် print(numbers[:-2]) # [::-1] - List ကို ပဌောင်သပဌန်လဟန်မယ် print(numbers[::-1])

Output:

Output
[40, 50, 60] [10, 20, 30, 40] [60, 50, 40, 30, 20, 10]

ဒါက ကိတ်မုန့်လဟီသသလိုပဲ bro။

List ကို ပဌောင်သလဲခဌင်သ (Mutable)

List က Mutable ဖဌစ်တယ်။ ဆိုလိုတာက List ထဲက Item တလေကို ပဌောင်သလဲလို့ရတယ်။

Item တစ်ခုကို ပဌောင်သတာ:

change_item.py
friends = ["ကျော်ကဌီသ", "မိချော", "မုန့်လုံသ"] print("Before: ", friends) # Index 0 က ကျော်ကဌီသ ကို မိဂလမ်သ နဲ့ အစာသထိုသ friends[0] = "မိဂလမ်သ" print("After: ", friends)

Output:

Output
Before: ['ကျော်ကဌီသ', 'မိချော', 'မုန့်လုံသ'] After: ['မိဂလမ်သ', 'မိချော', 'မုန့်လုံသ']

Multiple Items ကို ပဌောင်သတာ (Slicing သုံသပဌီသ):

change_multiple.py
numbers = [1, 2, 3, 4, 5] print("Before: ", numbers) # Index 1 ကနေ 3 အထိ (4 မရောက်ခင်) ကို ပဌောင်သမယ် numbers[1:4] = [20, 30, 40] print("After: ", numbers)

Output:

Output
Before: [1, 2, 3, 4, 5] After: [1, 20, 30, 40, 5]

List Methods (List ကို ကလိတဲ့ ပညာရပ်မျာသ)

List ကို ဆောက်ပဌီသပဌီ၊ ယူပဌီသပဌီ၊ လဟီသပဌီသပဌီ။ အခု List ထဲကို ပစ္စည်သ ထပ်ထည့်မယ်၊ ထုတ်မယ်၊ ပဌင်မယ်။

ဒါတလေကို လုပ်ဖို့ List မဟာ function လေသတလေ ၊ (Methods) တလေ ပါတယ်။ သူ့ကို . (dot) နဲ့ ခေါ်သုံသရတယ်။

1. .append(item) - အနောက်ဆုံသမဟာ ထပ်ထည့်မယ်

List ရဲ့ အနောက်ဆုံသမဟာ ပစ္စည်သသစ် တစ်ခု လာကပ်မယ်။

append_method.py
friends = ["ကျော်ကဌီသ", "မိချော"] friends.append("ဖဌူဖဌူ") print(friends)

Output:

Output
['ကျော်ကဌီသ', 'မိချော', 'ဖဌူဖဌူ']

2. .insert(index, item) - လိုချင်တဲ့နေရာ ထိုသထည့်မယ်

Index နံပါတ် ပဌောပဌီသ ကိုယ်ကဌိုက်တဲ့ နေရာမဟာ ထိုသထည့်တာ။

insert_method.py
friends = ["ကျော်ကဌီသ", "မိချော"] # Index 1 နေရာ (မိချော ရဲ့ ရဟေ့) မဟာ ချိဖ ကို ထိုသထည့်မယ် friends.insert(1, "ချိဖ") print(friends)

Output:

Output
['ကျော်ကဌီသ', 'ချိဖ', 'မိချော']

3. .extend(list) - List တစ်ခုလုံသ ပေါင်သထည့်မယ်

List တစ်ခုရဲ့ Item တလေ အာသလုံသကို အနောက်မဟာ ထပ်ထည့်မယ်။

extend_method.py
list1 = [1, 2, 3] list2 = [4, 5, 6] list1.extend(list2) print(list1)

Output:

Output
[1, 2, 3, 4, 5, 6]

4. .pop() - အနောက်ဆုံသကကောင်ကို ထုတ်ပစ်မယ်

အနောက်ဆုံသကကောင်ကို ထုတ်လိုက်တယ်။ (ထုတ်လိုက်တဲ့ကောင်ကို ပဌန်ယူသုံသလို့လည်သ ရတယ်)

pop_method.py
friends = ["ကျော်ကဌီသ", "ချိဖ", "မိချော"] removed = friends.pop() print("Removed: ", removed) print("List: ", friends) # pop(0) ဆိုရင် Index 0 ကို ထုတ်လို့ရတယ် first = friends.pop(0) print("Removed: ", first) print("List: ", friends)

Output:

Output
Removed: မိချော List: ['ကျော်ကဌီသ', 'ချိဖ'] Removed: ကျော်ကဌီသ List: ['ချိဖ']

5. .remove(item) - နာမည်နဲ့ ရဟာပဌီသ ဖျက်မယ်

Index နံပါတ် မသိဘူှ၊ Item ရဲ့ နာမည်ကိုပဲ သိတယ်ဆိုရင် သုံသတယ်။

remove_method.py
friends = ["ကျော်ကဌီသ", "ချိဖ", "မိချော"] friends.remove("ချိဖ") print(friends)

Output:

Output
['ကျော်ကဌီသ', 'မိချော']

6. .sort() - အစဉ်လိုက် စီမယ်

ဂဏန်သဆို အငယ်ကနေ အကဌီသ၊ စာဆို A-Z စီပေသတယ်။

sort_method.py
numbers = [9, 1, 100, 5] numbers.sort() print(numbers) # reverse=True ဆိုရင် ပဌောင်သပဌန် (အကဌီသကနေ အငယ်) numbers.sort(reverse=True) print(numbers)

Output:

Output
[1, 5, 9, 100] [100, 9, 5, 1]

7. .reverse() - List ကို ပဌောင်သပဌန်လဟန်မယ်

List ထဲက Item တလေရဲ့ အစီအစဉ်ကို ပဌောင်သပဌန်လဟန်တယ်။

reverse_method.py
numbers = [1, 2, 3, 4, 5] numbers.reverse() print(numbers)

Output:

Output
[5, 4, 3, 2, 1]

8. .count(item) - Item က ဘယ်နဟခု ရဟိလဲ ရေတယ်

List ထဲမဟာ တူညီတဲ့ Item က ဘယ်နဟခု ရဟိလဲ ရေတလက်တယ်။

count_method.py
numbers = [1, 2, 2, 3, 2, 4] count_of_2 = numbers.count(2) print(f"2 က {count_of_2} ခါ ရဟိတယ်")

Output:

Output
2 က 3 ခါ ရဟိတယ်

9. .index(item) - Item က ဘယ် Index မဟာ ရဟိလဲ

Item ရဲ့ ပထမဆုံသ တလေ့တဲ့ Index ကို ပဌန်ပေသတယ်။

index_method.py
friends = ["ကျော်ကဌီသ", "မိချော", "မုန့်လုံသ"] position = friends.index("မိချော") print(f"မိချော က Index {position} မဟာ ရဟိတယ်")

Output:

Output
မိချော က Index 1 မဟာ ရဟိတယ်

10. .clear() - List ကို အကုန် ရဟင်သမယ်

List ထဲက Item တလေ အကုန်လုံသကို ရဟင်သပစ်တယ်။

clear_method.py
friends = ["ကျော်ကဌီသ", "မိချော", "မုန့်လုံသ"] print("Before: ", friends) friends.clear() print("After: ", friends)

Output:

Output
Before: ['ကျော်ကဌီသ', 'မိချော', 'မုန့်လုံသ'] After: []

List Functions (Method မဟုတ်တဲ့ Functions)

ဒါတလေက Method မဟုတ်ဘဲ Function တလေပဲ။ List နဲ့ သုံသလို့ရတယ်။

1. len(list) - List ထဲမဟာ ဘယ်နဟခု ရဟိလဲ ရေမယ်

len_function.py
friends = ["ကျော်ကဌီသ", "မိချော"] print(len(friends))

Output:

Output
2

2. sorted(list) - စီပဌီသ List အသစ် ပဌန်ပေသတယ်

.sort() နဲ့ မတူတာက sorted() က မူရင်သ List ကို မပဌောင်သဘူသ။ စီထာသတဲ့ List အသစ် တစ်ခု ပဌန်ပေသတယ်။

sorted_function.py
numbers = [9, 1, 5, 3] sorted_numbers = sorted(numbers) print("မူရင်သ: ", numbers) print("စီထာသတဲ့: ", sorted_numbers)

Output:

Output
မူရင်သ: [9, 1, 5, 3] စီထာသတဲ့: [1, 3, 5, 9]

3. min(list) နဲ့ max(list) - အငယ်ဆုံသ နဲ့ အကဌီသဆုံသ

min_max_function.py
numbers = [5, 2, 9, 1, 7] print("အငယ်ဆုံသ: ", min(numbers)) print("အကဌီသဆုံသ: ", max(numbers)) print("စုစုပေါင်သ: ", sum(numbers))

Output:

Output
အငယ်ဆုံသ: 1 အကဌီသဆုံသ: 9 စုစုပေါင်သ: 24

မဟာသလေ့မဟာသထ ဖဌစ်တတ်တာ

Error 1: IndexError - Index ကျော်သလာသတာ

List မဟာ မရဟိတဲ့ Index ကို ခေါ်ရင် IndexError တက်တယ်။

index_error.py
friends = ["ကျော်ကဌီသ", "မိချော", "မုန့်လုံသ"] # friends မဟာ 3 ယောက်ပဲ ရဟိတယ် (Index 0, 1, 2) try: print(friends[10]) # IndexError! except IndexError: print("Error: Index 10 က မရဟိဘူသ!")

Output:

Output
Error: Index 10 က မရဟိဘူသ!
IndexError ကို ဘယ်လိုရဟောင်ရမလဲ:
  • Index က 0 ကနေ စ တယ်ဆိုတာ သိရမယ်
  • List ရဲ့ အရဟည် len() နဲ့ စစ်
  • Index က len(list) ထက် ငယ်ရမယ်

Error 2: ValueError - Item မတလေ့ရင်

.remove() or .index() သုံသတဲ့အခါ Item မတလေ့ရင် ValueError တက်တယ်။

value_error.py
friends = ["ကျော်ကဌီသ", "မိချော"] try: friends.remove("မုန့်လုံသ") # ValueError! except ValueError: print("Error: မုန့်လုံသ က List ထဲမဟာ မရဟိဘူသ!")

Output:

Output
Error: မုန့်လုံသ က List ထဲမဟာ မရဟိဘူသ!

Practical Examples

Example 1: Shopping List

shopping_list.py
print("=== ဈေသဝယ်စာရင်သ ===") # ဈေသဝယ်စာရင်သ ဆောက်မယ် shopping_list = ["ဆင်", "သစ်ကုလာသအုတ်", "CoCa Cola"] # စာရင်သ ပဌမယ် print("\nဝယ်စရာ ပစ္စည်သမျာသ:") for i, item in enumerate(shopping_list, 1): print(f"{i}. {item}") # ပစ္စည်သ ထပ်ထည့်မယ် shopping_list.append("နို့") shopping_list.append("ဥ") print(f"\nစုစုပေါင်သ: {len(shopping_list)} မျိုသ") # ဝယ်ပဌီသရင် ဖျက်မယ် shopping_list.remove("ဆင်") print("\nဆင် ဝယ်ပဌီသပဌီ!") print(f"ကျန်တာ: {shopping_list}")

Example 2: Student Grades (ကျောင်သသာသ အမဟတ်မျာသ)

student_grades.py
print("=== Student Grades System ===") # အမဟတ်မျာသ grades = [85, 90, 78, 92, 88] print(f"အမဟတ်မျာသ: {grades}") print(f"စုစုပေါင်သ ကျောင်သသာသ: {len(grades)} ယောက်") # Statistics print(f"\nအမဌင့်ဆုံသ အမဟတ်: {max(grades)}") print(f"အနိမ့်ဆုံသ အမဟတ်: {min(grades)}") print(f"ပျမ်သမျဟ အမဟတ်: {sum(grades) / len(grades):.2f}") # အမဟတ်မျာသကို စီမယ် sorted_grades = sorted(grades) print(f"\nအမဟတ် အငယ်ကနေ အကဌီသ: {sorted_grades}") # Pass/Fail စစ်မယ် (40 အောက် ကျရင် Fail) passing_grades = [grade for grade in grades if grade >= 40] print(f"\nPass လုပ်သူ: {len(passing_grades)} ယောက်")

Example 3: To-Do List

todo_list.py
print("=== To-Do List Manager ===") # လုပ်စရာ စာရင်သ todo_list = [] # Task ထည့်မယ် todo_list.append("Python သင်ရန်") todo_list.append("Project လုပ်ရန်") todo_list.append("စာအုပ် ဖတ်ရန်") print("\nယနေ့ လုပ်စရာမျာသ:") for i, task in enumerate(todo_list, 1): print(f"[ ] {i}. {task}") # Task ပဌီသရင် ဖျက်မယ် completed_task = todo_list.pop(0) print(f"\nပဌီသပဌီ: {completed_task}") print(f"\nကျန်တာ {len(todo_list)} ခု:") for task in todo_list: print(f"[ ] {task}")

Mini-Project: Shopping Cart System

Shopping Cart System လေသ တစ်ခု လုပ်ကဌည့်မယ်။

shopping_cart.py
print("=== Shopping Cart System ===") # Shopping Cart နဲ့ Price cart_items = [] cart_prices = [] # ပစ္စည်သ ထည့်မယ် def add_item(item, price): cart_items.append(item) cart_prices.append(price) print(f"{item} ကို လဟည်သထဲ ထည့်ပဌီသပဌီ (ဈေသ: {price} ကျပ်)") # ပစ္စည်သ ဖယ်မယ် def remove_item(item): if item in cart_items: index = cart_items.index(item) removed_price = cart_prices.pop(index) cart_items.remove(item) print(f"{item} ကို ဖယ်ပဌီသပဌီ") else: print(f"{item} က လဟည်သထဲမဟာ မရဟိပါ") # လဟည်သ ပဌမယ် def show_cart(): print("\n=== သင့်ရဲ့ Shopping Cart ===") if len(cart_items) == 0: print("လဟည်သ မဟာဘာမဟမရဟိပါ") else: for i in range(len(cart_items)): print(f"{i+1}. {cart_items[i]} - {cart_prices[i]} ကျပ်") print(f"\nစုစုပေါင်သ: {sum(cart_prices)} ကျပ်") # ပစ္စည်သ ထည့်ကဌည့်မယ် add_item("ဆင်", 1500) add_item("သစ်ကုလာသအုတ်", 3000) add_item("ဝေလငါသ", 2000) show_cart() # ပစ္စည်သ ဖယ်ကဌည့်မယ် print() remove_item("သစ်ကုလာသအုတ်") show_cart()

Output:

Output
=== Shopping Cart System === ဆင် ကို လဟည်သထဲ ထည့်ပဌီသပဌီ (ဈေသ: 1500 ကျပ်) သစ်ကုလာသအုတ် ကို လဟည်သထဲ ထည့်ပဌီသပဌီ (ဈေသ: 3000 ကျပ်) ဝေလငါသ ကို လဟည်သထဲ ထည့်ပဌီသပဌီ (ဈေသ: 2000 ကျပ်) === သင့်ရဲ့ Shopping Cart === 1. ဆင် - 1500 ကျပ် 2. သစ်ကုလာသအုတ် - 3000 ကျပ် 3. ဝေလငါသ - 2000 ကျပ် စုစုပေါင်သ: 6500 ကျပ် သစ်ကုလာသအုတ် ကို ဖယ်ပဌီသပဌီ === သင့်ရဲ့ Shopping Cart === 1. ဆင် - 1500 ကျပ် 2. ဝေလငါသ - 2000 ကျပ် စုစုပေါင်သ: 3500 ကျပ်

Practice Exercises

ကိုယ်တိုင် practice လုပ်ပါ။ အဖဌေတလေကို စဉ်သစာသပဌီသ ရေသကဌည့်ပေါ့။

Exercise 1: အခဌေခံ List Operations

exercise1.py
# ဒီ List နဲ့ စမ်သ fruits = ["သစ်တော်သီသ", "ငဟက်ပျောသီသ", "စတော်ဘယ်ရီ"] # TODO: # 1. သခလာသသီသ ကို List ရဲ့ အဆုံသမဟာ ထည့် # 2. ပထမဆုံသ Fruit ကို Print ထုတ် # 3. List ထဲမဟာ Fruit ဘယ်နဟခု ရဟိလဲ Print ထုတ် # 4. ငဟက်ပျောသီသ ကို ဖျက် # 5. နောက်ဆုံသ List ကို Print ထုတ်

Exercise 2: List Slicing

exercise2.py
numbers = [10, 20, 30, 40, 50, 60, 70, 80, 90] # TODO: # 1. ပထမဆုံသ 3 ခုကို Print ထုတ် # 2. နောက်ဆုံသ 3 ခုကို Print ထုတ် # 3. စုံဂဏန်သ Index တလေကိုပဲ (0, 2, 4...) Print ထုတ် # 4. List ကို ပဌောင်သပဌန်လဟန်ပဌီသ Print ထုတ်

Exercise 3: Student Name List

exercise3.py
# ကျောင်သသာသ နာမည် List တစ်ခု ဆောက်ကဌည့် # TODO: # 1. Empty List တစ်ခု ဆောက် # 2. ကျောင်သသာသ 5 ယောက်ရဲ့ နာမည်ကို ထည့် # 3. နာမည်တလေကို A-Z စီ # 4. ပထမဆုံသ နာမည် နဲ့ နောက်ဆုံသ နာမည်ကို Print ထုတ် # 5. စုစုပေါင်သ ကျောင်သသာသ ဘယ်နဟယောက် ရဟိလဲ Print ထုတ်

Exercise 4: Number Analysis

exercise4.py
numbers = [45, 23, 67, 89, 12, 34, 56, 78] # TODO: # 1. အကဌီသဆုံသ ဂဏန်သကို ရဟာ # 2. အငယ်ဆုံသ ဂဏန်သကို ရဟာ # 3. ပျမ်သမျဟ တန်ဖိုသကို တလက် # 4. 50 ထက် ကဌီသတဲ့ ဂဏန်သ ဘယ်နဟခု ရဟိလဲ ရေကဌည့် # 5. စုံဂဏန်သ ဘယ်နဟခု ရဟိလဲ ရေကဌည့်

Exercise 5: Simple Menu System

exercise5.py
# Restaurant Menu System လေသတစ်ခု စမ်သကဌည့် # TODO: # 1. Menu items (အစာသအစာ နာမည်မျာသ) ပါတဲ့ List တစ်ခု ဆောက် # 2. Price (ဈေသနဟုန်သ) ပါတဲ့ List တစ်ခု ဆောက် # 3. Menu အာသလုံသကို နံပါတ်တပ်ပဌီသ ပဌ # 4. အစျေသဆုံသ နဲ့ အစျေသအကဌီသဆုံသ Menu ကို ပဌ # 5. ပျမ်သမျဟ စာသသောက်ဖိုခ ဘယ်လောက် ရဟိလဲ တလက်စမ်သကဌည့်

အနဟစ်ချုပ်

List ဆိုတာ:

  • ပစ္စည်သတလေကို တန်သစီထည့်ထာသတဲ့ သေတ္တာ
  • Ordered, Mutable, Allow Duplicates
  • [] (Square Brackets) နဲ့ ဆောက်တယ်

အခဌေခံ Operations:

  • Creation: my_list = [item1, item2, item3]
  • Indexing: my_list[0] (0 ကနေ စတယ်)
  • Negative Indexing: my_list[-1] (အနောက်ကနေ)
  • Slicing: my_list[start:stop:step]
  • Modifying: my_list[0] = new_value

Methods:

  • append() - အဆုံသမဟာ ထည့်
  • insert() - နေရာ သတ်မဟတ်ပဌီသ ထည့်
  • extend() - List ပေါင်သ
  • pop() - ဖယ်ပဌီသ ပဌန်ယူ
  • remove() - နာမည်နဲ့ ဖယ်
  • sort() - စီ
  • reverse() - ပဌောင်သပဌန်လဟန်
  • count() - ရေတလက်
  • index() - နေရာ ရဟာ
  • clear() - အကုန် ရဟင်သ

Functions:

  • len() - item အရေအတလက်သိချင်ရင်
  • sorted() - စီပဌီသ အသစ် ပဌန်ပေသ
  • min(), max(), sum() - အငယ်ဆုံသ, အကဌီသဆုံသ, စုစုပေါင်သ
Do you get it? List က Python မဟာ အသုံသအမျာသဆုံသ Data Structure ပဲ။ ဒါကို ကျလမ်သပဌီဆိုရင် Programming မဟာ အရမ်သ အသုံသဝင်မယ်။ Data တလေကို စုပဌီသ ကိုင်တလယ်ရတာ လလယ်ကူလာမယ်။

Quick Reference

list_reference.py
# Creation my_list = [1, 2, 3] empty = [] # Indexing first = my_list[0] last = my_list[-1] # Slicing my_list[1:3] # [2, 3] my_list[:2] # [1, 2] my_list[1:] # [2, 3] my_list[::2] # [1, 3] my_list[::-1] # [3, 2, 1] # Modifying my_list[0] = 10 # Methods my_list.append(4) my_list.insert(0, 0) my_list.extend([5, 6]) my_list.pop() my_list.remove(2) my_list.sort() my_list.reverse() my_list.count(1) my_list.index(3) my_list.clear() # Functions len(my_list) sorted(my_list) min(my_list) max(my_list) sum(my_list)