Sự khác nhau của for trong Python so với một số ngôn ngữ khác
Như đã nói ở phần giới thiệu, Python tồn tại 2 cấu trúc lặp cơ bản là while và for. Cấu trúc lặp while tương tự hầu hết với các ngôn ngữ khác, trong khi đó for có đôi chút khác biệt so với những ngôn ngữ thường gặp.
Thay vì lặp qua một dãy số như trong Pascal, hoặc cho phép người dùng có thể tự định nghĩa bước lặp và điều kiện dừng như trong C/C++, Python cho phép ta duyệt qua từng phần tử của list, tuple, string,...
Cấu trúc vòng lặp for
Cấu trúc của vòng lặp for được thể hiện như sau:
for iterating_var in sequence:
statements(s)
Nguyên tắc hoạt động
Phần tử đầu tiên của sequence sẽ được gán cho iterating_var, tiếp theo là thực hiện khối lệnh bên trong for. Cứ liên tục như vậy lần lượt từng phần tử trong sequence sẽ được gán cho iterating_var và thực hiện khối lệnh sau nó. Cho đến khi thực hiện xong khối lệnh cuối cùng, tương ứng với phần tử cuối cùng trong sequence được gán cho iterating_var thì kết thúc vòng lặp.
Sơ đồ hoạt động
Ví dụ
Cùng xem xét ví dụ sau để có thể hiểu rõ hơn về cấu trúc vòng lặp for trong Python
stdio_authors = \
[
"La Kiến Vinh",
"Brian Vu",
"Taco Nguyen",
"Ryan Lê"
]
for author in stdio_authors:
print (author)
Dễ dàng nhìn thấy kết quả xuất ra màn hình sẽ là:
La Kiến Vinh
Brian Vu
Taco Nguyen
Ryan Lê
Hàm range
Hàm range được sử dụng để tạo ra một danh sách chứa dãy số học theo một logic. Nếu bạn cần dùng vòng lặp for để duyệt qua một chuỗi số nào đó thì range là một lựa chọn rất tốt.
Cú pháp
range([start], stop[, step])
Trong đó:
- start là số bắt đầu của chuỗi.
- stop là giới hạn mà chuỗi đạt tới (không bao gồm số này).
- step là số tăng lên được của một số trong chuỗi so với số trước đó.
Một số ví dụ
Xét một số ví dụ sau về cách sử dụng hàm range:
Ví dụ 1
for i in range(4):
print(i)
Kết quả:
0
1
2
3
Ví dụ 2
for i in range(4, 7):
print(i)
Kết quả:
4
5
6
Ví dụ 3
for i in range(4, 13, 3):
print(i)
Kết quả:
4
7
10