Trong bài viết này, bạn sẽ học cách lặp lại một chuỗi các phần tử bằng cách sử dụng các biến thể khác nhau của vòng lặp for.
Video: Python for Loop
Vòng lặp for trong Python là gì?
Vòng lặp for trong Python được sử dụng để lặp qua một chuỗi (danh sách, tuple, chuỗi) hoặc các đối tượng có thể lặp lại khác. Lặp lại trên một trình tự được gọi là duyệt.
Cú pháp của for Loop
cho val theo thứ tự: Nội dung của for
Đây, val
là biến nhận giá trị của mục bên trong chuỗi trên mỗi lần lặp.
Vòng lặp tiếp tục cho đến khi chúng ta đến mục cuối cùng trong chuỗi. Phần thân của vòng lặp for được phân tách khỏi phần còn lại của mã bằng cách sử dụng thụt đầu dòng.
Lưu đồ cho Vòng lặp
![](https://cdn.wiki-base.com/7695639/python_for_loop.jpg.webp)
Ví dụ: Python for Loop
# Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum)
Khi bạn chạy chương trình, đầu ra sẽ là:
Tổng là 48
Hàm range ()
Chúng ta có thể tạo một dãy số bằng range()
hàm. range(10)
sẽ tạo ra các số từ 0 đến 9 (10 số).
Chúng tôi cũng có thể xác định kích thước bắt đầu, dừng và bước như range(start, stop,step_size)
. step_size mặc định là 1 nếu không được cung cấp.
Đối range
tượng "lười biếng" theo một nghĩa nào đó vì nó không tạo ra mọi số mà nó "chứa" khi chúng ta tạo nó. Tuy nhiên, nó không phải là một iterator vì nó hỗ trợ in
, len
và __getitem__
các hoạt động.
Hàm này không lưu trữ tất cả các giá trị trong bộ nhớ; nó sẽ không hiệu quả. Vì vậy, nó ghi nhớ kích thước bắt đầu, dừng, bước và tạo số tiếp theo khi di chuyển.
Để buộc hàm này xuất ra tất cả các mục, chúng ta có thể sử dụng hàm list()
.
Ví dụ sau đây sẽ làm rõ điều này.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Đầu ra
phạm vi (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)
Chúng ta có thể sử dụng range()
hàm trong for
các vòng lặp để lặp qua một chuỗi số. Nó có thể được kết hợp với len()
hàm để lặp qua một chuỗi bằng cách sử dụng lập chỉ mục. Đây là một ví dụ.
# Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))
Đầu ra
Tôi thích nhạc pop, tôi thích nhạc rock, tôi thích nhạc jazz
vòng lặp for với else
Một for
vòng lặp cũng có thể có một else
khối tùy chọn . Phần else
được thực hiện nếu các mục trong trình tự được sử dụng trong vòng lặp for hết.
Các break
từ khóa có thể được sử dụng để ngăn chặn một vòng lặp for. Trong những trường hợp như vậy, phần khác bị bỏ qua.
Do đó, phần khác của vòng lặp for sẽ chạy nếu không xảy ra ngắt.
Đây là một ví dụ để minh họa điều này.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Khi bạn chạy chương trình, đầu ra sẽ là:
0 1 5 Không còn mục nào.
Tại đây, vòng lặp for sẽ in các mục của danh sách cho đến khi vòng lặp kết thúc. Khi vòng lặp for hết, nó thực thi khối mã trong else
và in Không còn mục nào.
Câu for… else
lệnh này có thể được sử dụng với break
từ khóa để chạy else
khối chỉ khi break
từ khóa không được thực thi. Hãy lấy một ví dụ:
# program to display student's marks from record student_name = 'Soyuj' marks = ('James': 90, 'Jules': 55, 'Arthur': 77) for student in marks: if student == student_name: print(marks(student)) break else: print('No entry with that name found.')
Đầu ra
Không tìm thấy mục nào có tên đó.