Vòng lặp for trong Python là một hàm lặp lại. Nếu bạn có một đối tượng chuỗi như một danh sách, bạn có thể sử dụng vòng lặp for để lặp qua các mục chứa trong danh sách đó. Chức năng của vòng lặp for không khác biệt nhiều so với những gì bạn thấy trong nhiều ngôn ngữ lập trình khác.
Trong bài viết này, chúng ta sẽ khám phá về vòng lặp for trong Python chi tiết và học cách lặp qua các chuỗi khác nhau bao gồm danh sách, bộ và nhiều hơn nữa. Ngoài ra, chúng ta sẽ học cách điều khiển luồng của vòng lặp bằng các câu lệnh break và continue.
Cú pháp cơ bản của vòng lặp for trong Python
Cú pháp cơ bản của vòng lặp for trong Python có dạng như sau.
for biến_ít_ra trong tên_chuỗi: Các câu lệnh . . . Các câu lệnh
Để cho bạn hiểu rõ hơn về cú pháp của vòng lặp for trong Python, hãy để tôi giải thích nó một cách chi tiết.
- Từ đầu tiên của câu lệnh bắt đầu bằng từ khóa "for" đánh dấu sự bắt đầu của vòng lặp for.
- Tiếp theo chúng ta có biến trình lặp, biến này lặp qua chuỗi và có thể được sử dụng trong vòng lặp để thực hiện các chức năng khác nhau.
- Tiếp theo là từ khóa "in" trong Python, cho biết biến trình lặp để lặp qua các phần tử trong chuỗi.
- Cuối cùng, chúng ta có biến chuỗi, có thể là một danh sách, một bộ hoặc bất kỳ loại trình lặp nào khác.
- Phần câu lệnh của vòng lặp là nơi bạn có thể tận hưởng biến trình lặp và thực hiện các chức năng khác nhau.
1. In từng chữ cái của một chuỗi sử dụng vòng lặp for
Chuỗi Python là một chuỗi các ký tự. Nếu trong bất kỳ ứng dụng lập trình nào của bạn, bạn cần lặp qua các ký tự của một chuỗi một cách riêng lẻ, bạn có thể sử dụng vòng lặp for ở đây.
Dưới đây là cách làm việc của nó.
word="anaconda" for letter in word: print (letter)
Output: a n a c o n d a
Lý do vì sao vòng lặp này hoạt động là vì Python coi một "chuỗi" là một chuỗi các ký tự thay vì xem chuỗi như một thể thống nhất.
2. Sử dụng vòng lặp for để lặp qua một danh sách hoặc bộ Python
Danh sách và Bộ là các đối tượng có thể lặp lại. Hãy xem cách chúng ta có thể lặp qua các phần tử trong các đối tượng này bây giờ.
Dưới đây là cách làm việc của nó.
words= ["Apple", "Banana", "Car", "Dolphin" ] for word in words: print (word)
Output: Apple Banana Car Dolphin
Bây giờ, hãy tiếp tục và làm việc với việc lặp qua các phần tử của một bộ ở đây.
nums = (1, 2, 3, 4) sum_nums = 0 for num in nums: sum_nums = sum_nums + num print(f'Sum of numbers is {sum_nums}')
Output: Sum of numbers is 10
3. Lồng vòng lặp for trong Python
Khi chúng ta có một vòng lặp for bên trong một vòng lặp for khác, nó được gọi là vòng lặp for lồng nhau. Có nhiều ứng dụng của vòng lặp for lồng nhau.
Xem xét ví dụ danh sách ở trên. Vòng lặp for in ra từng từ riêng lẻ từ danh sách. Nhưng nếu chúng ta muốn in ra các ký tự riêng lẻ của mỗi từ trong danh sách thì sao?
Đây là lúc mà vòng lặp for lồng nhau hoạt động tốt hơn. Vòng lặp đầu tiên (vòng lặp cha) sẽ lặp qua từng từ một. Vòng lặp thứ hai (vòng lặp con) sẽ lặp qua các ký tự của mỗi từ.
words= ["Apple", "Banana", "Car", "Dolphin" ] for word in words: # Vòng lặp này lấy từ từ danh sách print ("Những dòng sau sẽ in ra từng ký tự của "+word) for letter in word: # Vòng lặp này lấy ký tự cho từ print (letter) print("") # Dòng này được sử dụng để in một dòng trống
Output:
4. Vòng lặp for trong Python với hàm range()
Python range() là một trong những hàm được tích hợp sẵn. Khi bạn muốn vòng lặp for chạy một số lần cụ thể hoặc bạn cần chỉ định một loạt các đối tượng để in ra, hàm range sẽ hoạt động rất tốt. Xem ví dụ dưới đây khi tôi muốn in ra các số 1, 2 và 3.
for x in range(3): print("In ra:", x)
Output: In ra: 0 In ra: 1 In ra: 2
Hàm range cũng có thể nhận một tham số khác ngoài giá trị bắt đầu và kết thúc. Đó là tham số "bước". Nó cho biết hàm range cách nhau bao nhiêu số giữa mỗi lần đếm.
Trong ví dụ dưới đây, tôi đã sử dụng số 3 làm bước và bạn có thể thấy các số đầu ra là số trước đó + 3.
for n in range(1, 10, 3): print("In ra với bước:", n)
Output: In ra với bước: 1 In ra với bước: 4 In ra với bước: 7
5. Câu lệnh break với vòng lặp for
Câu lệnh break được sử dụng để thoát ra khỏi vòng lặp for một cách sớm. Nó được sử dụng để dừng vòng lặp for khi một điều kiện cụ thể được đáp ứng.
Giả sử chúng ta có một danh sách số và chúng ta muốn kiểm tra xem một số có tồn tại hay không. Chúng ta có thể lặp qua danh sách số và nếu số đó được tìm thấy, thoát khỏi vòng lặp vì chúng ta không cần tiếp tục lặp qua các phần tử còn lại.
Trong trường hợp này, chúng ta sẽ sử dụng câu lệnh if else Python kết hợp với vòng lặp for của chúng tôi.
nums = [1, 2, 3, 4, 5, 6] n = 2 found = False for num in nums: if n == num: found = True break print(f'Danh sách có chứa {n}: {found}')
Output: Danh sách có chứa 2: True
6. Câu lệnh continue với vòng lặp for
Chúng ta có thể sử dụng câu lệnh continue trong vòng lặp for để bỏ qua việc thực hiện thân vòng lặp for cho một điều kiện cụ thể.
Giả sử chúng ta có một danh sách các số và chúng ta muốn in ra tổng các số dương. Chúng ta có thể sử dụng câu lệnh continue để bỏ qua vòng lặp for cho các số âm.
nums = [1, 2, -3, 4, -5, 6] sum_positives = 0 for num in nums: if num 0: continue sum_positives += num print(f'Tổng các số dương: {sum_positives}')
Output: Tổng các số dương: 13
7. Vòng lặp for trong Python với khối else
Chúng ta có thể sử dụng khối else với vòng lặp for. Khối else chỉ được thực thi khi vòng lặp for không bị chấm dứt bởi câu lệnh break.
Giả sử chúng ta có một hàm để in ra tổng các số nếu và chỉ nếu tất cả các số đều chẵn.
def print_sum_even_nums(even_nums): total = 0 for x in even_nums: if x % 2 != 0: break total += x else: print("Vòng lặp for thực thi bình thường") print(f'Tổng của các số {total}') # Dòng này sẽ in tổng print_sum_even_nums([2, 4, 6, 8]) # Dòng này sẽ không in ra tổng vì có một số lẻ trong chuỗi print_sum_even_nums([2, 4, 5, 8])
Output: Vòng lặp for thực thi bình thường Tổng của các số 20
Kết luận
Vòng lặp for trong Python rất giống với các ngôn ngữ lập trình khác. Chúng ta có thể sử dụng câu lệnh break và continue với vòng lặp for để thay đổi thực thi. Tuy nhiên, trong Python, chúng ta cũng có thể có khối else tùy chọn trong vòng lặp for.
Tôi hy vọng bạn đã có được một số ý tưởng thú vị từ hướng dẫn trên. Nếu bạn có bất kỳ câu hỏi nào, hãy cho chúng tôi biết trong phần bình luận bên dưới.