Python - Vòng Lặp Mảng

Xin chào các bạn, các nhà vua Python tương lai! Hôm nay, chúng ta sẽ bắt đầu hành trình thú vị qua thế giới các mảng và vòng lặp của Python. Là người dạy máy tính bạn thân thiện, tôi đang ở đây để hướng dẫn các bạn qua cuộc phiêu lưu này với nhiều ví dụ, giải thích và có lẽ còn một chút cười nhạo hoặc hai. Vậy hãy lấy ly đường uống yêu thích của bạn, thoải mái ngồi, và hãy bắt đầu nhé!

Python - Loop Arrays

Các Mảng Trong Python Là Gì?

Trước khi bắt đầu vòng lặp, hãy nhanh chóng làm tươi lại kỷ niệm của chúng ta về các mảng trong Python. Trong Python, chúng ta thường sử dụng danh sách để biểu diễn các mảng. Một danh sách là tập hợp các mục có thể có nhiều loại khác nhau. Ví dụ:

fruits = ["apple", "banana", "cherry", "date"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "two", 3.0, [4, 5]]

Bây giờ khi chúng ta đã sắp xếp xong, hãy khám phá cách chúng ta có thể vòng lặp qua các mảng này!

Vòng Lặp for Với Mảng Python

Vòng lặp for là người bạn đồng hành đáng tin cậy của bạn khi đến việc lặp qua các mảng. Nó như có một trợ lý cá nhân của bạn đi qua từng mục trong danh sách của bạn, một. Hãy xem nó hoạt động như thế nào:

fruits = ["apple", "banana", "cherry", "date"]

for fruit in fruits:
print(f"Tôi yêu ăn {fruit}!")

Output:

Tôi yêu ăn apple!
Tôi yêu ăn banana!
Tôi yêu ăn cherry!
Tôi yêu ăn date!

Trong ví dụ này, vòng lặp for của chúng ta như một robot yêu chuộng trái cây. Nó lấy từng trái cây từ danh sách fruits và thể hiện tình yêu của nó đối với việc ăn nó. Vòng lặp tiếp tục cho đến khi nó đã đi qua tất cả các mục trong danh sách.

Một Analogy Thực Tế

Tưởng tượng bạn đang ở tiệc buffet (yum!). Vòng lặp for như bạn đi xuống dòng buffet, lấy từng món ăn một. Bạn không bỏ qua bất kỳ món nào, và bạn dừng lại khi bạn đến cuối dòng. Đó chính là cách vòng lặp for của chúng ta hoạt động với các mảng!

Vòng Lặp while Với Mảng Python

Bây giờ, hãy gặp với vòng lặp while. Nếu vòng lặp for như một robot đi qua danh sách một cách có kiểm soát, thì vòng lặp while thì như một khách mua sắm kiên trì mua hàng cho đến khi danh sách mua hàng của họ trống rỗng. Hãy xem cách chúng ta có thể sử dụng vòng lặp while với một mảng:

fruits = ["apple", "banana", "cherry", "date"]
index = 0

while index < len(fruits):
print(f"Trái cây ở chỉ số {index} là {fruits[index]}")
index += 1

Output:

Trái cây ở chỉ số 0 là apple
Trái cây ở chỉ số 1 là banana
Trái cây ở chỉ số 2 là cherry
Trái cây ở chỉ số 3 là date

Trong ví dụ này, chúng ta bắt đầu với một index là 0. Vòng lặp while tiếp tục khi index nhỏ hơn độ dài của danh sách fruits. Mỗi lần qua vòng lặp, chúng ta in ra trái cây ở chỉ số hiện tại và sau đó tăng chỉ số lên 1.

Khi Nào Nên Sử Dụng Vòng Lặp while

Vòng lặp while rất tốt khi bạn không biết chính xác bao nhiêu lần bạn cần lặp. Ví dụ, nếu bạn đang đọc dữ liệu từ một tệp hoặc chờ đợi đầu vào của người dùng, vòng lặp while có thể rất hữu ích. Tuy nhiên, cho việc lặp qua các mảng đơn giản, vòng lặp for thường gọn gàng và dễ đọc hơn.

Vòng Lặp for Với Chỉ Số Mảng Python

Đôi khi, bạn cần biết không chỉ mục trong mảng mà còn vị trí (hoặc chỉ số) của nó. Hàm enumerate() của Python đến gợi ý! Nó như có một hướng dẫn du lịch cho bạn không chỉ hiển thị mỗi mục mà còn nói rõ ràng vị trí bạn đang ở trong chuyến tham quan. Hãy xem nó hoạt động như thế nào:

fruits = ["apple", "banana", "cherry", "date"]

for index, fruit in enumerate(fruits):
print(f"Trái cây số {index + 1} là {fruit}")

Output:

Trái cây số 1 là apple
Trái cây số 2 là banana
Trái cây số 3 là cherry
Trái cây số 4 là date

Trong ví dụ này, enumerate() giúp chúng ta có cả chỉ số và mục cho mỗi phần tử trong danh sách. Chúng ta cộng 1 vào chỉ số khi in ra vì các chỉ số mảng bắt đầu từ 0, nhưng con người thường bắt đầu đếm từ 1.

Một Ví Dụ Phức Tạp Hơn

Hãy đặt kiến thức của chúng ta vào thử nghiệm với một ví dụ phức tạp hơn. Chúng ta sẽ tạo một danh sách các từ điển đại diện cho các sách và sau đó lặp qua nó để tìm các sách của một tác giả cụ thể:

books = [
{"title": "To Kill a Mockingbird", "author": "Harper Lee", "year": 1960},
{"title": "1984", "author": "George Orwell", "year": 1949},
{"title": "Pride and Prejudice", "author": "Jane Austen", "year": 1813},
{"title": "Animal Farm", "author": "George Orwell", "year": 1945}
]

author_to_find = "George Orwell"

print(f"Các sách của {author_to_find}:")
for index, book in enumerate(books):
if book["author"] == author_to_find:
print(f"{index + 1}. {book['title']} ({book['year']})")

Output:

Các sách của George Orwell:
2. 1984 (1949)
4. Animal Farm (1945)

Trong ví dụ này, chúng ta đang sử dụng vòng lặp for với enumerate() để đi qua danh sách các từ điển sách của chúng ta. Chúng ta kiểm tra tác giả của mỗi sách, và nếu nó khớp với tác giả chúng ta đang tìm kiếm, chúng ta in ra chi tiết sách.

Kết Luận

Xin chúc mừng! Bạn vừa nâng cấp kỹ năng Python của mình bằng cách thành thạo vòng lặp với các mảng. Hãy nhớ, luyện tập sẽ làm bạn hoàn hảo, vì vậy đừng sợ thử nghiệm với các khái niệm này. Thử tạo một số mảng của riêng bạn và lặp qua chúng theo nhiều cách khác nhau.

Dưới đây là bảng tham khảo nhanh về các phương pháp vòng lặp chúng ta đã trình bày:

Loại Vòng Lặp Mục Đích Sử Dụng Cú Pháp
Vòng Lặp for Khi bạn muốn lặp qua tất cả các mục trong một chuỗi for item in sequence:
Vòng Lặp while Khi bạn cần một điều kiện để kiểm soát vòng lặp while condition:
Vòng Lặp for với Chỉ Số Khi bạn cần cả mục và vị trí của nó for index, item in enumerate(sequence):

Hãy tiếp tục mã hóa, học hỏi, và đặc biệt là hãy vui chơi với Python! Ai biết? Lần tới bạn ở tiệc buffet, bạn có thể suy nghĩ về các vòng lặp for. Đó là khi bạn thực sự trở thành một lập trình viên!

Credits: Image by storyset