Cách dùng vòng lặp for trong Python - thuviensachvn.com
Cách dùng vòng lặp for trong Python
Vòng lặpfor là một kỹ năng lập trình thiết yếu. Hãy cùng Download.vn học cách sử dụng Loops trong Python nhé!
Giống như mọi ngôn ngữ lập trình khác, vòng lặp trong Python là cách tuyệt vời để không phải viết lại code. Tuy nhiên, khác vòng lặp while của Python, vòng lặp for là một câu lệnh dòng điều khiển cuối cùng, cho bạn nhiều thẩm quyền hơn trên mỗi mục trong seri.
Dù mới bắt đầu hay đã có chút kinh nghiệm về Python thì việc nắm chắc các vòng lặp for là chìa khóa để giải quyết các vấn đề liên quan tới dãy dữ liệu. Giờ hãy cùng nhau tìm hiểu cách thức vòng lặp for hoạt động trong Python cùng 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 thức hoạt động của vòng lặp for 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 (array). Về cơ bản, nó hữu ích khi xử lý các chuỗi, danh sách, từ điển, tập hợp hoặc bộ giá trị. Từ khóa in thường theo sau vòng lặp for trong Python.
Một vòng lặp for có đặc điểm tương tự trong tất cả ngôn ngữ lập trình. Ví dụ, dù có sự khác biệt về cú pháp, đặc điểm vòng lặp for của Java tương tự của Python.
Cú pháp chung của một Python cho vòng lặp for như sau:
en keyword">for new_variable
en keyword">in parent_variable
en punctuation">:
execute some statements
Như đã nói từ đầu, khác while, vòng lặp for mạnh hơn nên nó cung cấp nhiều quyền kiểm soát luồng hơn.
Cụ thể, một vòng for giống như câu lệnh: "for every male student you meet in a class, write down one, else, write down it's a class of females only."
Câu lệnh này giống như một hướng dẫn đơn giản, cho bạn biết bạn cần viết tên từng nam sinh đã gặp trong một lớp học cụ thể. Nó 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 này, bạn phải gặp một học sinh nam. Nếu không, sau đó, bạn phải viết câu lệnh else (nếu không).
Nếu câu lệnh trên không có điều kiện else, bạn sẽ không cần phải viết thêm bất điều gì sau đó. Điều đó có nghĩa nó là một mảng trống.
Cách sử dụng vòng lặp for của Python - Ví dụ thực tế
Giờ hãy xét 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 ra từng mục trong danh sách:
items
en operator">=
en punctuation">[
en string">"shoe"
en punctuation">, en string">"bag" en punctuation">, en string">"shirts" en punctuation">, en string">"lamp" en punctuation">] en keyword">for i en keyword">in items en punctuation">: en keyword">print en punctuation">(i en punctuation">)
Bạn có thể chỉnh sửa code trên để xuất bất kỳ mục có chữ cái “a”:
items en operator">= en punctuation">[ en string">"shoe" en punctuation">, en string">"bag" en punctuation">, en string">"shirts" en punctuation">, en string">"lamp" en punctuation">] en keyword">for i en keyword">in items en punctuation">: en keyword">if en string">"a" en keyword">in i en punctuation">: en keyword">print en punctuation">(i en punctuation">)
Một vòng lặp for trong Python cũng dùng câu lệnh else trực tiếp:
b en operator">= en punctuation">[ en number">2 en punctuation">, en number">3 en punctuation">, en number">5 en punctuation">, en number">6 en punctuation">] en keyword">for i en keyword">in b en punctuation">: en keyword">print en punctuation">(i en punctuation">) en keyword">else en punctuation">: en keyword">print en punctuation">( en string">"Loop has ended" en punctuation">)
Bạn có thể dùng lệnh break để thay đổi quy trình của một vòng lặp:
b en operator">= en punctuation">[ en number">2 en punctuation">, en number">3 en punctuation">, en number">5 en punctuation">, en number">6 en punctuation">] en keyword">for i en keyword">in b en punctuation">: en keyword">if i en operator">> en number">3 en punctuation">: en keyword">break en keyword">print en punctuation">(i en punctuation">)
Bạn cũng có thể sử dụng từ khóa continue với một loop for:
b en operator">= en punctuation">[ en number">2 en punctuation">, en number">3 en punctuation">, en number">5 en punctuation">, en number">6 en punctuation">] en keyword">for i en keyword">in b en punctuation">: en keyword">if i en operator">> en number">3 en punctuation">: en keyword">continue en keyword">print en punctuation">(i en punctuation">)
Sử dụng vòng lặp for với chuỗi List và String trong Python
Giờ hãy nhìn vào code bên dưới để xuất toàn bộ các số nguyên dưới từ 1 tới 100. Để làm việc này, đầu tiên tạo một danh sách các số trong phạm vi từ 1 tới 100 bằng hàm range của Python.
en keyword">for x en keyword">in range en punctuation">( en number">1 en punctuation">, en number">101 en punctuation">) en punctuation">: en keyword">print en punctuation">(x en punctuation">)
Bạn có thể chỉnh sửa khối code bằng cách giới thiệu một lệnh điều kiện để xuất toàn bộ số lẻ giữa 1 và 100.
en keyword">for x en keyword">in range en punctuation">( en number">1 en punctuation">, en number">101 en punctuation">) en punctuation">: en keyword">if x en operator">% en number">2 en operator">== en number">1 en punctuation">: en keyword">print en punctuation">(x en punctuation">)
Tuy nhiên, bạn cũng có thể tạo bảng cửu chương nhấn 2 theo đầu ra của đoạn mã trên. Để làm việc này, bạn chỉ cần thêm một vài câu lệnh:
en keyword">for x en keyword">in range en punctuation">( en number">1 en punctuation">, en number">101 en punctuation">) en punctuation">: en keyword">if x en operator">% en number">2 en operator">== en number">1 en punctuation">: en keyword">print en punctuation">(x en punctuation">, en string">"x" en punctuation">, en number">2 en punctuation">, en string">"=" en punctuation">, x en operator">* en number">2 en punctuation">)
Giờ bạn đã biết cách vòng lặp for hoạt động với một danh sách các số nguyên. Tiếp theo, hãy tìm hiểu cách sử dụng vòng lặp for với các chuỗi.
Code bên dưới trả về một chuỗi của mỗi string trong một lệnh:
a en operator">= en string">"How to use a for loop in Python" en keyword">for i en keyword">in a en punctuation">: en keyword">print en punctuation">(i en punctuation">)
Chúng ta cũng có thể đếm số của chuỗi (bao gồm khoảng cách) trong biến a sử dụng vòng lặp for:
a en operator">= en punctuation">[ en string">"How to use a for loop in Python" en punctuation">] en keyword">for i en keyword">in a en punctuation">: en keyword">print en punctuation">(i en punctuation">.count en punctuation">( en string">'' en punctuation">) en punctuation">)
Output en punctuation">: en number">32
Tuy nhiên, bạn cũng có thể đặt một vòng lặp for trong một biến riêng và nhận kết quả tương tự bằng cách viết lại code trên như sau:
a en operator">= en punctuation">[ en string">"How to use a for loop in Python" en punctuation">]
c en operator">= en punctuation">[b en punctuation">.count en punctuation">( en string">'' en punctuation">) en keyword">for b en keyword">in a en punctuation">] en keyword">print en punctuation">(c en punctuation">)
Output en punctuation">: en punctuation">[ en number">32 en punctuation">]
Lưu ý: Để có được số lượng ký tự, đảm bảo không có khoảng cách 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ể chỉnh sửa từng code trong hai đoạn mã gần nhất ở trên để tạo một bộ đếm từ đơn giản bằng vòng lặp for. Toàn bộ việc bạn cần làm ở 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 en operator">= en punctuation">[ en string">"How to use a for loop in Python" en punctuation">] en keyword">for i en keyword">in a en punctuation">: en keyword">print en punctuation">(i en punctuation">.count en punctuation">( en string">' ' en punctuation">) en operator">+ en number">1 en punctuation">)
Output en punctuation">: en number">8
Giống như đã từng làm ở bộ đếm ký tự, bạn cũng có thể viết lại code đếm từ ở trên bằng cách đặt vòng lặp for trong một biến như sau:
a en operator">= en punctuation">[ en string">"How to use a for loop in Python" en punctuation">]
c en operator">= en punctuation">[b en punctuation">.count en punctuation">( en string">' ' en punctuation">) en operator">+ en number">1 en keyword">for b en keyword">in a en punctuation">] en keyword">print en punctuation">(c en punctuation">)
Output en punctuation">: en punctuation">[ en number">8 en punctuation">]
Chú ý tới khoảng trắng duy nhất nằm ở giữa các trích dẫn trong ngoặc đơn.
Sử dụng Python để tạo vòng lặp với một array
Bạn cũng có thể dùng vòng lặp for để có một nhân tố cụ thể trong một array.
Giải sử bạn có một mảng dữ liệu Sheep với các giá trị Yes cho động vật “healthy” và No cho “unhealthy”. Mỗi con cừu đều có 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ể dùng vòng lặp for để xuất toàn bộ cừu bị bệnh, chẳng hạn như sau:
array en operator">= en punctuation">[ en punctuation">{ en string">"name" en punctuation">: en string">"Sheep1" en punctuation">, en string">"healthy" en punctuation">: en string">"Yes" en punctuation">} en punctuation">, en punctuation">{ en string">"name" en punctuation">: en string">"Sheep3" en punctuation">, en string">"healthy" en punctuation">: en string">"No" en punctuation">} en punctuation">, en punctuation">{ en string">"name" en punctuation">: en string">"Sheep4" en punctuation">, en string">"healthy" en punctuation">: en string">"Yes" en punctuation">} en punctuation">, en punctuation">{ en string">"name" en punctuation">: en string">"Sheep5" en punctuation">, en string">"healthy" en punctuation">: en string">"Yes" en punctuation">} en punctuation">, en punctuation">{ en string">"name" en punctuation">: en string">"Sheep8" en punctuation">, en string">"healthy" en punctuation">: en string">"No" en punctuation">} en punctuation">, en punctuation">{ en string">"name" en punctuation">: en string">"Sheep7" en punctuation">, en string">"healthy" en punctuation">: en string">"No" en punctuation">} en punctuation">, en punctuation">{ en string">"name" en punctuation">: en string">"Sheep9" en punctuation">, en string">"healthy" en punctuation">: en string">"No" en punctuation">} en punctuation">] en keyword">for sheeps en keyword">in array en punctuation">: en keyword">if sheeps en punctuation">[ en string">"healthy" en punctuation">] en operator">== en string">"No" en punctuation">: en keyword">print en punctuation">( en string">"Quarantine" en punctuation">, sheeps en punctuation">[ en string">"name" en punctuation">] en punctuation">)
Sử dụng Nested cho vòng lặp trong Python
Một vòng lặp for lồng nhau rất hữu ích khi bạn muốn xuất từng nhân tố trong một dãy phần tử phức tạp hay được lồng nhau. Nó hoạt động bằng cách đặt một vòng lặp bên trong vòng lặp khác. Ví dụ:
nested_list en operator">= en punctuation">[ en punctuation">[ en number">1 en punctuation">, en number">2 en punctuation">, en number">4 en punctuation">, en number">5 en punctuation">] en punctuation">, en punctuation">{ en string">"name" en punctuation">: en string">"Python" en punctuation">, en string">"method" en punctuation">: en string">"write" en punctuation">} en punctuation">] en keyword">for dict en keyword">in nested_list en punctuation">: en keyword">for i en keyword">in dict en punctuation">: en keyword">print en punctuation">(i en punctuation">)
Tùy thuộc vào vấn đề, mỗi vòng lặp for và while có tầm ảnh hưởng riêng trong Python. Trên đây là cách dùng vòng lặp cơ bản trong Python. Hi vọng bài viết hữu ích với các bạn.