Vòng lặp for được sử dụng để lặp qua một chuỗi [đó là danh sách, bộ dữ liệu, từ điển, tập hợp hoặc chuỗi]
Điều này ít giống với từ khóa for trong các ngôn ngữ lập trình khác và hoạt động giống một phương thức lặp hơn như được tìm thấy trong các ngôn ngữ lập trình hướng đối tượng khác
Với vòng lặp for, chúng ta có thể thực thi một tập hợp các câu lệnh, một lần cho mỗi mục trong danh sách, bộ, bộ, v.v.
Thí dụ
In từng loại trái cây trong danh sách trái cây
trái cây = ["táo", "chuối", "anh đào"]
cho x trong trái cây
in[x]
Vòng lặp for không yêu cầu đặt biến lập chỉ mục trước
Vòng qua một chuỗi
Các chuỗi thậm chí là các đối tượng có thể lặp lại, chúng chứa một chuỗi ký tự
Thí dụ
Vòng qua các chữ cái trong từ "banana"
cho x trong "chuối"
in[x]
Tuyên bố phá vỡ
Với câu lệnh break, chúng ta có thể dừng vòng lặp trước khi nó lặp qua tất cả các mục
Thí dụ
Thoát khỏi vòng lặp khi x
là "chuối"
trái cây = ["táo", "chuối", "anh đào"]
cho x trong trái cây
in[x]
nếu x == "chuối"
nghỉ
Thí dụ
Thoát khỏi vòng lặp khi x
là "quả chuối", nhưng lần này dấu ngắt đến trước bản in
trái cây = ["táo", "chuối", "anh đào"]
cho x trong trái cây
nếu x == "chuối"
nghỉ
in[x]
Học cách lọc dữ liệu bằng Python như một nhà phân tích dữ liệu
Thử tham gia các buổi đào tạo thực hành với hướng dẫn từng bước từ chuyên gia. Hãy thử dự án có hướng dẫn được thực hiện với sự cộng tác của Coursera ngay bây giờ
Get startedTuyên bố tiếp tục
Với câu lệnh continue, chúng ta có thể dừng vòng lặp hiện tại của vòng lặp và tiếp tục với vòng lặp tiếp theo
Thí dụ
Không in chuối
trái cây = ["táo", "chuối", "anh đào"]
cho x trong trái cây
nếu x == "chuối"
tiếp tục
in[x]
Hàm phạm vi []
Để lặp qua một bộ mã một số lần xác định, chúng ta có thể sử dụng hàm range[],Hàm range[] trả về một dãy số, bắt đầu từ 0 theo mặc định và tăng dần theo 1 [theo mặc định] và kết thúc tại một số được chỉ định
Lưu ý rằng phạm vi [6] không phải là các giá trị từ 0 đến 6, mà là các giá trị từ 0 đến 5
Hàm range[] mặc định là 0 làm giá trị bắt đầu, tuy nhiên có thể chỉ định giá trị bắt đầu bằng cách thêm một tham số. phạm vi [2, 6], có nghĩa là các giá trị từ 2 đến 6 [nhưng không bao gồm 6]
Hàm range[] mặc định tăng chuỗi lên 1, tuy nhiên có thể chỉ định giá trị gia tăng bằng cách thêm tham số thứ ba. phạm vi [2, 30, 3]
Thí dụ
Tăng chuỗi với 3 [mặc định là 1]
cho x trong phạm vi [2, 30, 3]
in[x]
Khác trong vòng lặp
Từ khóa else
trong vòng lặp for
chỉ định một khối mã sẽ được thực thi khi vòng lặp kết thúc
Thí dụ
In tất cả các số từ 0 đến 5 và in thông báo khi vòng lặp kết thúc
cho x trong phạm vi [6]
in[x]
khác
print["Cuối cùng cũng xong. "]
Ghi chú. Khối else
sẽ KHÔNG được thực thi nếu vòng lặp bị dừng bởi câu lệnh break
Thí dụ
Phá vỡ vòng lặp khi x
là 3 và xem điều gì xảy ra với khối else
cho x trong phạm vi [6]
nếu x == 3. nghỉ
in[x]
khác
print["Cuối cùng cũng xong. "]
Vòng lồng nhau
Một vòng lặp lồng nhau là một vòng lặp bên trong một vòng lặp
"vòng lặp bên trong" sẽ được thực hiện một lần cho mỗi lần lặp lại "vòng lặp bên ngoài"
Thí dụ
In từng tính từ cho mỗi loại trái cây
adj = ["đỏ", "to", "ngon"]
trái cây = ["táo", "chuối", "anh đào"]
cho x trong adj
cho y trong trái cây
in[x, y]
Tuyên bố vượt qua
Các vòng lặp for
không thể để trống, nhưng nếu vì lý do nào đó bạn có một vòng lặp for
không có nội dung, hãy đặt câu lệnh x
1 để tránh bị lỗi
Trên mỗi lần lặp lại trong vòng lặp for
, chúng tôi gán lại biến cho giá trị hiện tại của nó cộng với giá trị của mục danh sách hiện tại
Toán tử +=
là viết tắt của my_str = my_str + item
Đoạn mã sau đạt được kết quả tương tự
Ngoài ra, bạn có thể sử dụng phương pháp str.join[]
Sử dụng phương pháp str.join[]
hiệu quả hơn một chút trong trường hợp này
Phương thức lấy một iterable làm đối số và trả về một chuỗi là chuỗi nối của các chuỗi trong iterable
Lưu ý rằng phương thức này tăng giá trị TypeError
nếu có bất kỳ giá trị không phải chuỗi nào trong lần lặp
Nếu danh sách của bạn chứa số hoặc các loại khác, hãy chuyển đổi tất cả các giá trị thành chuỗi trước khi gọi join[]
Chuỗi mà phương thức được gọi được sử dụng làm dấu phân cách giữa các phần tử
Nếu bạn không cần dấu tách và chỉ muốn nối các phần tử của iterable thành một chuỗi, hãy gọi phương thức join[]
trên một chuỗi trống
Bạn có thể sử dụng biểu thức trình tạo nếu bạn chỉ cần nối một số mục nhất định trong danh sách
Ví dụ sử dụng phương thức str.isalpha[]
để chỉ nối các ký tự chữ cái trong danh sách
Phương thức trả về True
nếu tất cả các ký tự trong chuỗi là chữ cái và có ít nhất một ký tự, nếu không thì trả về +=
0
Chúng tôi đã sử dụng biểu thức trình tạo để lặp qua danh sách
Biểu thức trình tạo được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện