Một vòng lặp for trong python được lặp lại trên một tập hợp đối tượng cho đến khi tập hợp đối tượng đó hoàn thành. Chẳng hạn, bạn có thể lặp lại nội dung của một danh sách hoặc một chuỗi. Vòng lặp for sử dụng cú pháp: for item in object, trong đó “object” là đối tượng có thể lặp lại mà bạn muốn lặp lại.
Vòng lặp hay loop cho phép bạn lặp lại các thao tác tương tự trong source code của mình. Một trong vòng lặp được sử dụng nhiều nhất trong python là vòng lặp for. Vòng lặp này thực thi một đoạn code cho đến khi vòng lặp lặp lại trên hết trên một tập đối tượng.
Các bài viết liên quan:
Hướng dẫn này sẽ thảo luận về những kiến thức cơ bản về vòng lặp for trong Python. Chúng ta sẽ nói về cách sử dụng hàm range() và các đối tượng có thể lặp với vòng lặp for.
For trong Python là gì?
Một vòng lặp Python for chạy một đoạn code cho đến khi vòng lặp lặp lại trên mọi index trong một tập hợp. Vòng lặp for giúp bạn rút gọn đi sự lặp lại trong source code của mình vì chúng giúp đỡ bạn thực hiện một hoặc nhiều dòng lệnh nhiều lần.
Đây là cấu trúc cơ bản của vòng lặp for trong Python:
for [item] in [sequence]: # Run code
Hãy nhìn vào vòng lặp for:
- for định nghĩa vòng lặp.
- item riêng lẻ mà mỗi lần lặp ta đang tham chiếu đến.
- in định nghĩa item thuộc tập hợp sequence.
- Sequence đề cập đến tập đối tượng mà bạn muốn lặp lại.
Code nằm trong vòng lặp for của chúng ta sẽ chạy cho đến khi mọi item trong sequence được duyệt qua.
Ví dụ về For trong Python
Chúng ta có thể sử dụng vòng lặp for để duyệt qua danh sách các item được lưu trữ trong một tập hợp có thể lặp lại.
Thuật ngữ đối tượng có thể lặp lại là một cách khác để nói bất kỳ đối tượng nào lưu trữ một chuỗi các mục. Dưới đây là một số loại đối tượng có thể lặp lại:
- Python dictionaries.
- Python sets.
- Python arrays (lists).
- Python strings.
- Python iterators.
Giả sử chúng ta có một danh sách các giống mèo mà chúng ta muốn in riêng lẻ ra bảng điều khiển. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:
breeds = ['Persian', 'Maine Coon', 'British Shorthair', 'Ragdoll', 'Siamese'] for b in breeds: print(b)
Kết quả
Persian Maine Coon British Shorthair Ragdoll Siamese
Chúng ta đã chỉ định một danh sách theo thứ tự mà vòng lặp for của chúng ta sẽ chạy qua. Vòng lặp for của chúng ta đi qua mọi item trong danh sách, sau đó in intems đó ra terminal.
Chúng tôi đã sử dụng biến Python b để chỉ từng mục trong danh sách của mình. Tuy nhiên, chúng ta có thể sử dụng bất kỳ tên nào cho biến của mình, chẳng hạn như giống hoặc x. Tên biến phải hợp lệ. Nó không được có cùng tên với bất kỳ biến nào khác đang được sử dụng trong vòng lặp của chúng ta.
Bạn cũng có thể lặp qua các chuỗi và các kiểu dữ liệu tuần tự khác như dictionaries. Giả sử chúng ta muốn in ra từng ký tự trong một chuỗi riêng lẻ. Bạn có thể làm như vậy bằng cách sử dụng code này:
persian = 'Persian' for l in persian: print(l)
P e r s i a n
Code của chúng tôi lặp qua từng chữ cái trong chuỗi tiếng Ba Tư. Điều này là do phần thân vòng lặp của chúng ta chứa câu lệnh in in ra từng ký tự trong chuỗi.
Bạn có thể thêm câu lệnh Break và câu lệnh continue bên trong vòng lặp. Câu lệnh break dừng thực thi vòng lặp trong khi câu lệnh continue bỏ qua bước lặp tiếp theo của vòng lặp. Để tìm hiểu thêm về câu lệnh ngắt và tiếp tục, hãy đọc hướng dẫn của chúng tôi về câu lệnh ngắt và tiếp tục trong Python.
Vòng lặp for Python: Sử dụng range ()
Hàm range() tạo một dãy số trong một phạm vi nhất định. Bạn có thể sử dụngrange () để chỉ định số lần vòng lặp sẽ lặp lại. Khi được sử dụng với len(), range () cho phép chúng ta tạo một danh sách có độ dài bằng với số lượng giá trị trong một đối tượng.
Hãy sử dụng một ví dụ đơn giản về vòng lặp for để minh họa cách hoạt động của thao tác này. Giả sử chúng tôi muốn in ra một danh sách mọi số từ 1 đến 5. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:
for item in range(5): print(item)
0 1 2 3 4
Trong code của chúng ta, chúng tôi sử dụng item mà vòng lặp for đang đọc. Sau đó, chúng tôi sử dụng range (1, 6) để tạo danh sách tất cả các số trong phạm vi 1 và 6 (vì range () bắt đầu đếm từ 0, chúng tôi cần chỉ định 6 là giá trị cao nhất nếu chúng tôi muốn xem tất cả các số giữa 1 và 5).
range(start,stop,gap)
Hàm này chấp nhận ba đối số như sau:
- start: Giá trị bắt đầu mà tại đó sequence sẽ bắt đầu. Theo mặc định, đây là 0. (tùy chọn)
- stop: Giá trị tại đó sequence sẽ kết thúc. (cần thiết)
- gap: Khoảng cách giữa mỗi giá trị trong sequence. Theo mặc định, đây là 1. (tùy chọn)
Bạn có thể tìm hiểu thêm về hàm tích hợp range() trong các bài hướng dẫn của chúng tôi về Python range().
Vòng lặp lồng nhau: Python
Các vòng lặp lồng nhau trong Python là các vòng lặp được thực thi bên trong một vòng lặp khác. Chúng thường được sử dụng để lặp lại nội dung của danh sách bên trong danh sách. Một vòng lặp for lồng nhau là một cách nói khác của “một vòng lặp bên trong một vòng lặp khác”.
for [outer_item] in [outer_sequence]: for [inner_item] in [inner_sequence]: // Run code
Trong một vòng lặp for lồng nhau, chương trình sẽ chạy một lần lặp của vòng lặp ngoài trước. Sau đó, chương trình sẽ chạy mọi lần lặp của vòng lặp bên trong, cho đến khi tất cả mã trong vòng lặp bên ngoài được thực thi.
Khi đạt đến điểm này, vòng lặp bên ngoài sẽ được thực hiện lại và quá trình này sẽ tiếp tục cho đến khi chương trình được chạy.
Giả sử chúng ta có một danh sách các danh sách có giá trị mà chúng ta muốn in ra màn hình.
Danh sách đầu tiên chứa danh sách các giống mèo phổ biến nhất của chúng tôi. Danh sách thứ hai của chúng tôi bao gồm các giống mèo mà chúng tôi không nuôi nữa. Danh sách thứ ba chứa danh sách các giống mèo mà chúng tôi đang nghĩ đến việc nhân giống. Chúng tôi có thể in các danh sách này bằng mã này:
breeds = [ ['Persian', 'British Shorthair', 'Siamese'], ['Cornish Rex', 'Malayan', 'Maine Coon'], ['Himalayan', 'Birman'] ] for outer_list in breeds: for breed in outer_list: print(breed)
Persian British Shorthair Siamese Cornish Rex Malayan Maine Coon Himalayan Birman
Chúng ta đã xác định một danh sách các danh sách được gọi là breeds. Chúng tôi sử dụng một vòng lặp lồng nhau để lặp qua mọi item trong danh sách bên ngoài và mọi item trong mỗi danh sách bên trong. Chúng tôi in từng giá trị từ danh sách của mình ra màn hình.
Phần kết luận
Các vòng lặp Python cho thực thi một khối mã cho đến khi vòng lặp lặp lại trên mọi đối tượng trong một tập hợp. vòng lặp for giúp giảm sự lặp lại trong mã của bạn. Bạn có thể lặp qua lists, sets, dictionaries, strings,…
Khi được sử dụng với câu lệnh range(), bạn có thể chỉ định số lần chính xác mà một vòng lặp for sẽ chạy. Nếu bạn sử dụng vòng lặp for với một danh sách đối tượng có thể lặp lại, thì vòng lặp sẽ lặp lại một lần cho mỗi item trong đối tượng có thể lặp lại.