Python Lists
Introduction
List á Python ááŸá¬ á¡áá¯á¶ážá¡áá»á¬ážáá¯á¶áž Data Structure ááœá±áá²ááá áºáá¯á Data ááœá±ááᯠá á¯ááŒá®ážáááºá·áá¬ážááá¯ááºáááºá áá® Chapter ááŸá¬ List áá²á· á¡ááŒá±áá¶ á¡á¬ážáá¯á¶ážáá®ážáá«ážááᯠááœá±á·ááá«áááºá
List ááá¯áᬠáá¬áá²?
ááœááºáá«áááºá áá°á áá á¹á ááºážááœá±ááᯠáááºážá á®áá¬ážáá²á· áá±áá¹áᬠáá áºáá¯á¶ážáá²á á¡á²á·áá±áá¹áá¬áá²ááŸá¬ áá¬ááá·áºááá·áº ááááºá
- ááááºážááœá± (Numbers)
- á á¬ááœá± (Strings)
- áá¯ááºáááº/ááá¯ááºáá°áž (True/False)
- áá±á¬ááºáá¯á¶áž List áá²ááŸá¬ List áááºááá·áºáá¬áá±á¬áẠááááº
- Ordered - á¡á á®á¡á ááºááá» ááŸáááẠ(áááºážá á®áá¬ážáááº)
- Mutable - ááŒá±á¬ááºážáá²ááá¯á·áááẠ(ááá·áºá áá»ááºá ááŒáẠááá¯á·ááááº)
- Allow Duplicates - áá°áá±áá²á· áá á¹á ááºážááœá± áááºáá±ááá¯á·ááááº
- Can contain different types - ááá°áá®áá²á· type á¡áá»áá¯ážáá»áá¯áž ááá·áºááá¯á·ááááº
List ááᯠáá¬ááŒá±á¬áá·áº áá¯á¶ážáá²?
Variable áá áºáá¯áá»ááºáž áá¯á¶ážáá¬ááẠList áá¯á¶ážáá¬á á¡áá»á¬ážááŒá®áž á¡áááºááŒá±áááºá
Variable áá áºáá¯áá»ááºáž áá¯á¶ážáááº:
# áá«á ááŸá¯ááºáááºáá±áá±á¬áº!
friend1 = "áá»á±á¬áºááŒá®áž"
friend2 = "áááá»á±á¬"
friend3 = "áá¯ááºá·áá¯á¶áž"
friend4 = "áá»áá"
print(friend1)
print(friend2)
print(friend3)
print(friend4)List áá¯á¶ážáááº:
# ááŸááºáž!
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬", "áá¯ááºá·áá¯á¶áž", "áá»áá"]
for friend in friends:
print(friend)List á Data ááœá±ááᯠá á¯áá¬ážááá¯á· ááááºážááááºážááᬠááœááºáááºá
List Creation (List ááœá±ááᯠáááºááᯠáááºáá®ážááá²)
List ááᯠáá±á¬ááºáá»ááºááẠáá±ážáá±á¬áá·áºááœááºáž [] (Square Brackets) áá¯á¶ážááŒá®áž áá±á¬ááºáááºá
1. ááᬠList (Empty List):
# áá¬á០áááŸááá±ážáá²á· áá±áá¹áá¬
empty_list = []
print(empty_list)Output:
[]2. ááááºáž List (Numbers List):
# ááááºážááœá±áá² ááá·áºáá¬ážáááº
my_numbers = [1, 5, 9, 100]
print(my_numbers)Output:
[1, 5, 9, 100]3. á ᬠList (Strings List):
# á
á¬ááœá± ááá·áºáááº
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬", "áá¯ááºá·áá¯á¶áž", "áá»áá"]
print(friends)Output:
['áá»á±á¬áºááŒá®áž', 'áááá»á±á¬', 'áá¯ááºá·áá¯á¶áž', 'áá»áá']4. Mixed List:
# áá±á¬ááááœáŸá±
mixed_bag = ["áááºážáá®áž", 100, True, 3.14]
print(mixed_bag)Output:
['áááºážáá®áž', 100, True, 3.14][] ááŒá¬ážáá²ááŸá¬ ááá¯ááºááá·áºáá»ááºáá¬ááœá± comma (,) áá±ážááœá± áá¶ááŒá®áž áá±ážááá¯ááºáá¯á¶áá²á
Indexing (áá áºáá¯áá»ááºáž áááºááᯠáá°ááá²)
Ok, áá±áá¹áᬠ(List) áá±á¬á· áá±á¬ááºááŒá®ážááŒá®á á¡á²á·áá²á áá á¹á ááºáž áá áºáá¯áá»ááºážááᯠááá¯áá»ááºááẠáááºááᯠáá°ááá²á
Indexing áá¯ááºáá»ááºááẠList áá¬áááºáá²á·áá±ážááŸá¬ [] áá¯á¶ážááŒá®áž ááá¯áá»ááºáá²á· áá¶áá«áẠ(Index) ááᯠááá·áºáá±ážááááºá
á¥ááá¬:
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬", "áá¯ááºá·áá¯á¶áž", "áá»áá"]
# Index: 0 1 2 3
# ááááá¯á¶áž áá±á¬ááºááᯠááá¯áá»ááºááẠ(Index 0)
print(friends[0])
# áááá áá±á¬ááºááᯠááá¯áá»ááºááẠ(Index 2)
print(friends[2])Output:
áá»á±á¬áºááŒá®áž
áá¯ááºá·áá¯á¶ážNegative Indexing
á¡áá±á¬ááºááá± ááŒá±á¬ááºážááŒáẠáá°ááá¯á·ááááºá -1 ááá¯áᬠá¡áá±á¬ááºáá¯á¶ážá áá±á¬ááºá -2 ááá¯áᬠá¡áá±á¬ááºááá± áá¯ááááá±á¬ááºá
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬", "áá¯ááºá·áá¯á¶áž", "áá»áá"]
# Index: 0 1 2 3
# Index: -4 -3 -2 -1
# á¡áá±á¬ááºáá¯á¶ážá áá»áá ááᯠááá¯áá»ááºáááº
print(friends[-1])
# á¡áá±á¬ááºááá± áááá áááá»á±á¬ ááᯠááá¯áá»ááºáááº
print(friends[-3])Output:
áá»áá
áááá»á±á¬0 ááᯠá¡ááŸá±á·áá¯á¶ážáá ... -1 á á¡áá±á¬ááºáá¯á¶ážá
Slicing
áá áºáá¯áá»ááºáž áá°áᬠááá¯ááºáá²á áá áºáááºááá¯ááºá áá áºá á¯ááá¯áẠááá¯áá»ááºááẠSlicing áá¯á¶ážáááºá
áá°á·áá¯á¶á á¶á [start : stop]á áááºá á ááá² : áááºááŸá¬ áááºááá²á
á¥ááá¬: [1:4] ááá¯ááẠIndex 1, 2, 3 ááá¯áá² áá°áááºá Index 4 ááá«áá°ážá
á¡ááŒá±áá¶ Slicing:
numbers = [10, 20, 30, 40, 50, 60]
# Index: 0 1 2 3 4 5
# Index 1 ááá± Index 3 á¡áá (4 ááá±á¬ááºáááº) ááá¯áá»ááºáááº
print(numbers[1:4])Output:
[20, 30, 40]á¡á áá²á· á¡áá¯á¶áž áá°áááº:
numbers = [10, 20, 30, 40, 50, 60]
# [:3] - á¡á
ááá± Index 3 ááá±á¬ááºáááºá¡áá
print(numbers[:3])
# [2:] - Index 2 ááá± á¡áá¯á¶ážáá
print(numbers[2:])
# [:] - á¡á
ááá± á¡áá¯á¶ážáá (List áá
áºáá¯áá¯á¶ážááᯠCopy áá°ážáá¬)
print(numbers[:])Output:
[10, 20, 30]
[30, 40, 50, 60]
[10, 20, 30, 40, 50, 60]Step áá²á· Slicing [start:stop:step]:
step ááᯠááá·áºááẠáá¯ááºááŒá®áž áá°ááá¯á·ááááºá
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:
[0, 2, 4, 6, 8]
[1, 3, 5, 7, 9]
[0, 3, 6, 9]Negative Slicing:
Negative index ááœá±áá²á·áááºáž slice ááá¯á·ááááºá
numbers = [10, 20, 30, 40, 50, 60]
# [-3:] - á¡áá±á¬ááºááá± 3 áá¯
print(numbers[-3:])
# [:-2] - á¡áá¯á¶ážá 2 áᯠááŒá¯ááº
print(numbers[:-2])
# [::-1] - List ááᯠááŒá±á¬ááºážááŒááºááŸááºáááº
print(numbers[::-1])Output:
[40, 50, 60]
[10, 20, 30, 40]
[60, 50, 40, 30, 20, 10]áá«á ááááºáá¯áá·áºááŸá®ážáááá¯áá² broá
List ááᯠááŒá±á¬ááºážáá²ááŒááºáž (Mutable)
List á Mutable ááŒá áºáááºá ááá¯ááá¯áá¬á List áá²á Item ááœá±ááᯠááŒá±á¬ááºážáá²ááá¯á·ááááºá
Item áá áºáá¯ááᯠááŒá±á¬ááºážáá¬:
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬", "áá¯ááºá·áá¯á¶áž"]
print("Before: ", friends)
# Index 0 á áá»á±á¬áºááŒá®áž ááᯠááááœááºáž áá²á· á¡á
á¬ážááá¯áž
friends[0] = "ááááœááºáž"
print("After: ", friends)Output:
Before: ['áá»á±á¬áºááŒá®áž', 'áááá»á±á¬', 'áá¯ááºá·áá¯á¶áž']
After: ['ááááœááºáž', 'áááá»á±á¬', 'áá¯ááºá·áá¯á¶áž']Multiple Items ááᯠááŒá±á¬ááºážáᬠ(Slicing áá¯á¶ážááŒá®áž):
numbers = [1, 2, 3, 4, 5]
print("Before: ", numbers)
# Index 1 ááá± 3 á¡áá (4 ááá±á¬ááºáááº) ááᯠááŒá±á¬ááºážáááº
numbers[1:4] = [20, 30, 40]
print("After: ", numbers)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 áá²á· á¡áá±á¬ááºáá¯á¶ážááŸá¬ áá á¹á ááºážáá Ạáá áºáᯠáá¬áááºáááºá
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬"]
friends.append("ááŒá°ááŒá°")
print(friends)Output:
['áá»á±á¬áºááŒá®áž', 'áááá»á±á¬', 'ááŒá°ááŒá°']2. .insert(index, item) - ááá¯áá»ááºáá²á·áá±áᬠááá¯ážááá·áºáááº
Index áá¶áá«áẠááŒá±á¬ááŒá®áž ááá¯ááºááŒáá¯ááºáá²á· áá±áá¬ááŸá¬ ááá¯ážááá·áºáá¬á
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬"]
# Index 1 áá±áᬠ(áááá»á±á¬ áá²á· ááŸá±á·) ááŸá¬ áá»áá ááᯠááá¯ážááá·áºáááº
friends.insert(1, "áá»áá")
print(friends)Output:
['áá»á±á¬áºááŒá®áž', 'áá»áá', 'áááá»á±á¬']3. .extend(list) - List áá áºáá¯áá¯á¶áž áá±á«ááºážááá·áºáááº
List áá áºáá¯áá²á· Item ááœá± á¡á¬ážáá¯á¶ážááᯠá¡áá±á¬ááºááŸá¬ áááºááá·áºáááºá
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1)Output:
[1, 2, 3, 4, 5, 6]4. .pop() - á¡áá±á¬ááºáá¯á¶ážááá±á¬ááºááᯠáá¯ááºáá áºáááº
á¡áá±á¬ááºáá¯á¶ážááá±á¬ááºááᯠáá¯ááºááá¯ááºáááºá (áá¯ááºááá¯ááºáá²á·áá±á¬ááºááᯠááŒááºáá°áá¯á¶ážááá¯á·áááºáž ááááº)
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:
Removed: áááá»á±á¬
List: ['áá»á±á¬áºááŒá®áž', 'áá»áá']
Removed: áá»á±á¬áºááŒá®áž
List: ['áá»áá']5. .remove(item) - áá¬áááºáá²á· ááŸá¬ááŒá®áž áá»ááºáááº
Index áá¶áá«áẠááááá°ážá Item áá²á· áá¬áááºááá¯áá² áááááºááá¯ááẠáá¯á¶ážáááºá
friends = ["áá»á±á¬áºááŒá®áž", "áá»áá", "áááá»á±á¬"]
friends.remove("áá»áá")
print(friends)Output:
['áá»á±á¬áºááŒá®áž', 'áááá»á±á¬']6. .sort() - á¡á ááºááá¯áẠá á®áááº
ááááºážááᯠá¡áááºááá± á¡ááŒá®ážá á á¬ááᯠA-Z á á®áá±ážáááºá
numbers = [9, 1, 100, 5]
numbers.sort()
print(numbers)
# reverse=True ááá¯ááẠááŒá±á¬ááºážááŒáẠ(á¡ááŒá®ážááá± á¡áááº)
numbers.sort(reverse=True)
print(numbers)Output:
[1, 5, 9, 100]
[100, 9, 5, 1]7. .reverse() - List ááᯠááŒá±á¬ááºážááŒááºááŸááºáááº
List áá²á Item ááœá±áá²á· á¡á á®á¡á ááºááᯠááŒá±á¬ááºážááŒááºááŸááºáááºá
numbers = [1, 2, 3, 4, 5]
numbers.reverse()
print(numbers)Output:
[5, 4, 3, 2, 1]8. .count(item) - Item á áááºááŸáᯠááŸááá² áá±áááº
List áá²ááŸá¬ áá°áá®áá²á· Item á áááºááŸáᯠááŸááá² áá±ááœááºáááºá
numbers = [1, 2, 2, 3, 2, 4]
count_of_2 = numbers.count(2)
print(f"2 á {count_of_2} áá« ááŸááááº")Output:
2 á 3 áá« ááŸááááº9. .index(item) - Item á ááẠIndex ááŸá¬ ááŸááá²
Item áá²á· ááááá¯á¶áž ááœá±á·áá²á· Index ááᯠááŒááºáá±ážáááºá
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬", "áá¯ááºá·áá¯á¶áž"]
position = friends.index("áááá»á±á¬")
print(f"áááá»á±á¬ á Index {position} ááŸá¬ ááŸááááº")Output:
áááá»á±á¬ á Index 1 ááŸá¬ ááŸááááº10. .clear() - List ááᯠá¡áá¯áẠááŸááºážáááº
List áá²á Item ááœá± á¡áá¯ááºáá¯á¶ážááᯠááŸááºážáá áºáááºá
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬", "áá¯ááºá·áá¯á¶áž"]
print("Before: ", friends)
friends.clear()
print("After: ", friends)Output:
Before: ['áá»á±á¬áºááŒá®áž', 'áááá»á±á¬', 'áá¯ááºá·áá¯á¶áž']
After: []List Functions (Method ááá¯ááºáá²á· Functions)
áá«ááœá±á Method ááá¯ááºáá² Function ááœá±áá²á List áá²á· áá¯á¶ážááá¯á·ááááºá
1. len(list) - List áá²ááŸá¬ áááºááŸáᯠááŸááá² áá±áááº
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬"]
print(len(friends))Output:
22. sorted(list) - á á®ááŒá®áž List á¡áá ẠááŒááºáá±ážáááº
.sort() áá²á· ááá°áá¬á sorted() á áá°áááºáž List ááᯠáááŒá±á¬ááºážáá°ážá á á®áá¬ážáá²á· List á¡áá Ạáá áºáᯠááŒááºáá±ážáááºá
numbers = [9, 1, 5, 3]
sorted_numbers = sorted(numbers)
print("áá°áááºáž: ", numbers)
print("á
á®áá¬ážáá²á·: ", sorted_numbers)Output:
áá°áááºáž: [9, 1, 5, 3]
á
á®áá¬ážáá²á·: [1, 3, 5, 9]3. min(list) áá²á· max(list) - á¡áááºáá¯á¶áž áá²á· á¡ááŒá®ážáá¯á¶áž
numbers = [5, 2, 9, 1, 7]
print("á¡áááºáá¯á¶áž: ", min(numbers))
print("á¡ááŒá®ážáá¯á¶áž: ", max(numbers))
print("á
á¯á
á¯áá±á«ááºáž: ", sum(numbers))Output:
á¡áááºáá¯á¶áž: 1
á¡ááŒá®ážáá¯á¶áž: 9
á
á¯á
á¯áá±á«ááºáž: 24ááŸá¬ážáá±á·ááŸá¬ážá ááŒá áºáááºáá¬
Error 1: IndexError - Index áá»á±á¬áºááœá¬ážáá¬
List ááŸá¬ áááŸááá²á· Index ááᯠáá±á«áºááẠIndexError áááºáááºá
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬", "áá¯ááºá·áá¯á¶áž"]
# friends ááŸá¬ 3 áá±á¬ááºáá² ááŸáááẠ(Index 0, 1, 2)
try:
print(friends[10]) # IndexError!
except IndexError:
print("Error: Index 10 á áááŸááá°áž!")Output:
Error: Index 10 á áááŸááá°áž!- Index á 0 ááá± á áááºááá¯áᬠááááááº
- List áá²á· á¡ááŸáẠlen() áá²á· á á áº
- Index á len(list) ááẠáááºááááº
Error 2: ValueError - Item áááœá±á·áááº
.remove() or .index() áá¯á¶ážáá²á·á¡áá« Item áááœá±á·ááẠValueError áááºáááºá
friends = ["áá»á±á¬áºááŒá®áž", "áááá»á±á¬"]
try:
friends.remove("áá¯ááºá·áá¯á¶áž") # ValueError!
except ValueError:
print("Error: áá¯ááºá·áá¯á¶áž á List áá²ááŸá¬ áááŸááá°áž!")Output:
Error: áá¯ááºá·áá¯á¶áž á List áá²ááŸá¬ áááŸááá°áž!Practical Examples
Example 1: Shopping List
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 (áá»á±á¬ááºážáá¬áž á¡ááŸááºáá»á¬áž)
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
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 áá±áž áá áºáᯠáá¯ááºááŒáá·áºáááºá
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:
=== 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
# áá® List áá²á· á
ááºáž
fruits = ["áá
áºáá±á¬áºáá®áž", "ááŸááºáá»á±á¬áá®áž", "á
áá±á¬áºáááºáá®"]
# TODO:
# 1. áááœá¬ážáá®áž ááᯠList áá²á· á¡áá¯á¶ážááŸá¬ ááá·áº
# 2. ááááá¯á¶áž Fruit ááᯠPrint áá¯ááº
# 3. List áá²ááŸá¬ Fruit áááºááŸáᯠááŸááá² Print áá¯ááº
# 4. ááŸááºáá»á±á¬áá®áž ááᯠáá»ááº
# 5. áá±á¬ááºáá¯á¶áž List ááᯠPrint áá¯ááºExercise 2: List Slicing
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
# áá»á±á¬ááºážáá¬áž áá¬ááẠList áá
áºáᯠáá±á¬ááºááŒááºá·
# TODO:
# 1. Empty List áá
áºáᯠáá±á¬ááº
# 2. áá»á±á¬ááºážáá¬áž 5 áá±á¬ááºáá²á· áá¬áááºááᯠááá·áº
# 3. áá¬áááºááœá±ááᯠA-Z á
á®
# 4. ááááá¯á¶áž áá¬ááẠáá²á· áá±á¬ááºáá¯á¶áž áá¬áááºááᯠPrint áá¯ááº
# 5. á
á¯á
á¯áá±á«ááºáž áá»á±á¬ááºážáá¬áž áááºááŸáá±á¬áẠááŸááá² Print áá¯ááºExercise 4: Number Analysis
numbers = [45, 23, 67, 89, 12, 34, 56, 78]
# TODO:
# 1. á¡ááŒá®ážáá¯á¶áž ááááºážááᯠááŸá¬
# 2. á¡áááºáá¯á¶áž ááááºážááᯠááŸá¬
# 3. áá»ááºážáá»áŸ áááºááá¯ážááᯠááœááº
# 4. 50 ááẠááŒá®ážáá²á· ááááºáž áááºááŸáᯠááŸááá² áá±ááŒááºá·
# 5. á
á¯á¶ááááºáž áááºááŸáᯠááŸááá² áá±ááŒááºá·Exercise 5: Simple Menu System
# 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() - á¡áááºáá¯á¶áž, á¡ááŒá®ážáá¯á¶áž, á á¯á á¯áá±á«ááºáž
Quick Reference
# 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)