Giống như bất kỳ ngôn ngữ lập trình nào khác, lặp trong Python là một cách tuyệt vời để tránh viết mã lặp lại. Tuy nhiên, không giống như Python trong khi vòng lặp, cho vòng lặp là một tuyên bố kiểm soát dòng chảy dứt khoát cung cấp cho bạn quyền nhiều hơn mỗi mục trong một loạt.
Cho dù bạn là người mới bắt đầu sử dụng Python hay bạn đã có một số kinh nghiệm về nó, thì việc nắm chắc về vòng lặp for của nó là chìa khóa để giải quyết các vấn đề liên quan đến mảng. Ở đây, chúng ta sẽ xem xét cách thức hoạt động của vòng lặp for trong Python và một số ví dụ về cách bạn có thể sử dụng nó để giải quyết các thách thức về mã hóa.
Cách For Loops hoạt động trong Python
Vòng lặp for của Python hoạt động bằng cách lặp qua chuỗi của một mảng. Về bản chất, nó hữu ích khi xử lý các chuỗi như chuỗi, danh sách, bộ giá trị, từ điển hoặc bộ. Một trong từ khóa thường sau một cho vòng lặp bằng Python.
Một cho vòng lặp có những đặc điểm tương tự như trong tất cả các ngôn ngữ lập trình. Ví dụ, mặc dù có sự khác biệt về cú pháp, nhưng đặc điểm của vòng lặp for của Java tương tự như cách hoạt động của vòng lặp for của Python.
Cú pháp chung của vòng lặp for Python trông giống như sau:
for new_variable in parent_variable: execute some statements
Như đã trình bày ở trên, không giống như một trong khi vòng lặp, cho vòng lặp là mạnh hơn vì nó cung cấp kiểm soát nhiều hơn trong một dòng chảy.
Để hiểu rõ hơn, một vòng lặp for thường trông giống như câu lệnh ví dụ sau: "đối với mỗi học sinh nam mà bạn gặp trong lớp, hãy viết ra một học sinh, nếu không, hãy viết ra đó là lớp học chỉ dành cho nữ."
Câu nói đó là một hướng dẫn đơn giản yêu cầu bạn tiếp tục viết một câu cho mỗi học sinh nam mà bạn gặp trong một lớp học cụ thể. Đó là một vòng lặp liên tục. Tuy nhiên, để bắt đầu vòng lặp for trong trường hợp đó, bạn phải gặp một sinh viên nam. Nếu không, thì bạn viết ra câu lệnh else.
Nếu câu lệnh trên không có điều kiện khác , thì bạn sẽ không viết bất cứ điều gì. Điều đó có nghĩa là nó là một mảng trống.
Cách sử dụng Python's For Loop: Ví dụ thực tế
Bây giờ chúng ta hãy xem một số ví dụ thực tế về cách sử dụng vòng lặp for trong Python.
Đoạn mã bên dưới xuất từng mục trong danh sách:
items = ["shoe", "bag", "shirts", "lamp"] for i in items: print(i)
Bạn cũng có thể sửa đổi mã ở trên để xuất ra bất kỳ mục nào có ký tự "a":
items = ["shoe", "bag", "shirts", "lamp"] for i in items: if "a" in i: print(i)
Một cho vòng lặp bằng Python cũng mất một trực tiếp khác tuyên bố:
b=[2, 3, 5, 6] for i in b: print(i) else: print("Loop has ended")
Bạn cũng có thể sử dụng câu lệnh break để thay đổi luồng của vòng lặp for :
b=[2, 3, 5, 6] for i in b: if i>3: break print(i)
Bạn cũng có thể sử dụng từ khóa continue với vòng lặp for :
b=[2, 3, 5, 6] for i in b: if i>3: continue print(i)
Sử dụng for Loop With List and String Literals trong Python
Bây giờ, hãy xem đoạn mã dưới đây để xuất ra tất cả các số nguyên dương từ 1 đến 100. Để thực hiện việc này, trước tiên, bạn tạo danh sách các số từ 1 đến 100 bằng cách sử dụng hàm phạm vi tích hợp của Python :
for x in range(1, 101): print(x)
Bạn có thể sửa đổi khối mã đó bằng cách giới thiệu một câu lệnh điều kiện để xuất ra tất cả các số lẻ từ 1 đến 100:
for x in range(1, 101): if x%2==1: print(x)
Tuy nhiên, bạn cũng có thể tạo bảng cửu chương "2 theo đầu ra" của đầu ra của đoạn mã trên. Để đạt được điều này, bạn chỉ cần thêm một vài câu lệnh như sau:
for x in range(1, 101): if x%2==1: print(x, "x", 2, "=", x * 2)
Bây giờ bạn đã thấy cách hoạt động của vòng lặp for với danh sách các số nguyên. Hãy xem cách chúng ta có thể sử dụng vòng lặp for với chuỗi.
Đoạn mã dưới đây trả về một chuỗi của mỗi chuỗi trong một câu:
a = "How to use a for loop in Python" for i in a: print(i)
Chúng ta cũng có thể đếm số chuỗi (bao gồm cả khoảng trắng) trong biến a bằng vòng lặp for :
a = ["How to use a for loop in Python"] for i in a: print(i.count('')) Output: 32
Tuy nhiên, bạn cũng có thể đặt vòng lặp for trong một biến riêng biệt và nhận được kết quả tương tự bằng cách viết lại đoạn mã trên như sau:
a=["How to use a for loop in Python"] c=[b.count('') for b in a] print(c) Output: [32]
Lưu ý: Để tính số lượng ký tự, hãy đảm bảo rằng không có khoảng trống giữa các dấu ngoặc kép trong ngoặc đơn theo sau từ khóa count .
Bạn cũng có thể sửa đổi từng đoạn mã trong số hai đoạn mã cuối cùng ở trên để tạo bộ đếm từ đơn giản bằng vòng lặp for . Tất cả những gì bạn cần làm trong trường hợp này là chèn một khoảng trắng giữa mỗi dấu ngoặc kép trong dấu ngoặc đơn:
a=["How to use a for loop in Python"] for i in a: print(i.count(' ') + 1) Output: 8
Giống như bạn đã làm với số ký tự, bạn cũng có thể viết lại mã đếm từ ở trên bằng cách đặt vòng lặp for trong một biến như sau:
a = ["How to use a for loop in Python"] c=[b.count(' ') + 1 for b in a] print(c) Output: [8]
Hãy chú ý đến khoảng trắng duy nhất bây giờ nằm giữa các dấu ngoặc kép.
Liên quan: Cách tạo và sử dụng lại mô-đun của riêng bạn bằng Python
Sử dụng Python để lặp lại với một mảng
Bạn cũng có thể sử dụng vòng lặp for để lấy một phần tử cụ thể từ một mảng.
Giả sử rằng bạn có một mảng cừu với các giá trị là "Có" đối với động vật "khỏe mạnh" và "Không" đối với cừu "không khỏe mạnh". Mỗi con cừu sau đó có một tên riêng, và bạn muốn cách ly tất cả những con bị bệnh.
Bạn có thể sử dụng vòng lặp for để xuất ra tất cả những con cừu không khỏe mạnh. Để xem vòng lặp for hữu ích như thế nào trong trường hợp đó, đoạn mã dưới đây xuất ra tên của tất cả những con cừu không khỏe mạnh từ mảng:
array = [{"name":"Sheep1", "healthy":"Yes"}, {"name":"Sheep3", "healthy":"No"}, {"name":"Sheep4", "healthy":"Yes"}, {"name":"Sheep5", "healthy":"Yes"}, {"name":"Sheep8", "healthy":"No"}, {"name":"Sheep7", "healthy":"No"}, {"name":"Sheep9", "healthy":"No"} ] for sheeps in array: if sheeps["healthy"]=="No": print("Quarantine", sheeps["name"])
Sử dụng lồng nhau cho vòng lặp trong Python
Vòng lặp for lồng nhau rất hữu ích khi bạn muốn xuất từng phần tử trong một mảng phức tạp hoặc lồng nhau. Nó hoạt động bằng cách đặt một vòng lặp bên trong một vòng lặp khác. Mã ví dụ bên dưới xuất ra từng mục trong danh sách lồng nhau. Tuy nhiên, nó chỉ xuất ra các khóa của từ điển:
nested_list = [[1, 2, 4, 5], {"name":"Python", "method":"write"}] for dict in nested_list: for i in dict: print(i)
Một sự hiểu biết tốt hơn về danh sách và mảng Python của rất hữu ích khi giao dịch với một lồng cho vòng lặp.
Vòng lặp Đối với hoặc Vòng lặp Trong khi, Cái nào Tốt hơn?
Tùy thuộc vào vấn đề đang xảy ra, mỗi vòng lặp for và while có trường hợp sử dụng của nó trong Python. Mặc dù một cho vòng lặp là phổ biến hơn, điều đó không làm cho thành thạo các trong khi vòng lặp kém phần quan trọng.
Trong khi một cho vòng lặp Mời các giải pháp tổng quát hơn qua ngôn ngữ lập trình, đặt nó lên trên trong khi vòng lặp là sai lầm. Luôn luôn tốt hơn nếu xem xét một trong hai để giải quyết các vấn đề cụ thể, thay vì tin rằng cái này hữu ích hơn cái kia. Ngoài ra, là một lập trình viên Python, bạn không thể thiếu một trong hai.