Python cho các vòng lặp
Một vòng lặp được sử dụng để lặp lại trên một chuỗi [đó là danh sách, một tuple, từ điển, một tập hợp hoặc một chuỗi].for loop is used for iterating over a sequence [that is either a list, a tuple, a dictionary, a set, or a string].
Điều này ít giống như từ khóa trong các ngôn ngữ lập trình khác và hoạt động giống như một phương thức iterator như được tìm thấy trong các ngôn ngữ lập trình hướng đối tượng khác.for keyword in other programming languages, and works more like an iterator method as found in other object-orientated programming languages.
Với vòng lặp for, chúng tôi có thể thực hiện một tập hợp các câu lệnh, một lần cho mỗi mục trong một danh sách, tuple, đặt, v.v.for loop we can execute a set of statements, once for each item in a list, tuple, set etc.
Thí dụ
In mỗi trái cây trong một danh sách trái cây:
trái cây = ["Apple", "chuối", "anh đào"] cho x trong trái cây: & nbsp; in [x]
for x in fruits:
print[x]
Hãy tự mình thử »
Vòng lặp FOR không yêu cầu một biến lập chỉ mục để đặt trước.for loop does not require an indexing variable to set beforehand.
Vòng lặp qua một chuỗi
Ngay cả các chuỗi là các đối tượng có thể lặp lại, chúng chứa một chuỗi các ký tự:
Thí dụ
In mỗi trái cây trong một danh sách trái cây:
trái cây = ["Apple", "chuối", "anh đào"] cho x trong trái cây: & nbsp; in [x]
print[x]
Hãy tự mình thử »
Vòng lặp FOR không yêu cầu một biến lập chỉ mục để đặt trước.
Vòng lặp qua một chuỗibreak statement we can stop the loop before it has looped through all the items:
Thí dụ
In mỗi trái cây trong một danh sách trái cây:
trái cây = ["Apple", "chuối", "anh đào"] cho x trong trái cây: & nbsp; in [x]
for x in fruits:
print[x]
if x == "banana":
break
Hãy tự mình thử »
Thí dụ
In mỗi trái cây trong một danh sách trái cây:
trái cây = ["Apple", "chuối", "anh đào"] cho x trong trái cây: & nbsp; in [x]
for x in fruits:
if x == "banana":
break
print[x]
Hãy tự mình thử »
Vòng lặp FOR không yêu cầu một biến lập chỉ mục để đặt trước.
Vòng lặp qua một chuỗicontinue statement we can stop the current iteration of the loop, and continue with the next:
Thí dụ
In mỗi trái cây trong một danh sách trái cây:
trái cây = ["Apple", "chuối", "anh đào"] cho x trong trái cây: & nbsp; in [x]
for x in fruits:
if x == "banana":
continue
print[x]
Hãy tự mình thử »
Vòng lặp FOR không yêu cầu một biến lập chỉ mục để đặt trước.
Vòng lặp qua một chuỗirange[] function,
Ngay cả các chuỗi là các đối tượng có thể lặp lại, chúng chứa một chuỗi các ký tự:range[] function returns a sequence of numbers, starting from 0 by default, and increments by 1 [by default], and ends at a specified number.
Vượt qua các chữ cái trong từ "chuối":range[6] is not the values of 0 to 6, but the values 0 to 5.
cho x trong "chuối": & nbsp; in [x]range[] function defaults to 0 as a starting value, however it is possible to specify the starting value by adding a parameter: range[2, 6], which means values from 2 to 6 [but not including 6]:
Tuyên bố phá vỡrange[] function defaults to increment the sequence by 1, however it is possible to specify the increment value by adding a third parameter: range[2, 30, 3]:
Thí dụ
In mỗi trái cây trong một danh sách trái cây:
trái cây = ["Apple", "chuối", "anh đào"] cho x trong trái cây: & nbsp; in [x]
print[x]
Hãy tự mình thử »
Vòng lặp FOR không yêu cầu một biến lập chỉ mục để đặt trước.
Vòng lặp qua một chuỗi
Thí dụ
Ngay cả các chuỗi là các đối tượng có thể lặp lại, chúng chứa một chuỗi các ký tự:
Vượt qua các chữ cái trong từ "chuối":
print[x]
else:
print["Finally finished!"]
Hãy tự mình thử »
Vòng lặp FOR không yêu cầu một biến lập chỉ mục để đặt trước. The else
block will NOT be executed if the loop is stopped by a break
statement.
Thí dụ
Vòng lặp qua một chuỗi
Ngay cả các chuỗi là các đối tượng có thể lặp lại, chúng chứa một chuỗi các ký tự:
if x == 3: break
print[x]
else:
print["Finally finished!"]
Hãy tự mình thử »
Vòng lặp FOR không yêu cầu một biến lập chỉ mục để đặt trước.
Vòng lặp qua một chuỗi
Ngay cả các chuỗi là các đối tượng có thể lặp lại, chúng chứa một chuỗi các ký tự:
Thí dụ
Vượt qua các chữ cái trong từ "chuối":
cho x trong "chuối": & nbsp; in [x]
fruits = ["apple", "banana", "cherry"]
Tuyên bố phá vỡ
for y in fruits:
print[x, y]
Hãy tự mình thử »
Vòng lặp FOR không yêu cầu một biến lập chỉ mục để đặt trước.
Vòng lặp qua một chuỗi
Trình lặp là một đối tượng chứa số lượng giá trị có thể đếm được. Một trình lặp là một đối tượng có thể được lặp lại, có nghĩa là bạn có thể đi qua tất cả các giá trị. Về mặt kỹ thuật, trong Python, một iterator là một đối tượng thực hiện giao thức iterator, bao gồm các phương thức __iter __ [] và __next __ [].
3 loại vòng lặp trong Python là gì?
Các loại vòng lặp.
trong khi lặp lại..
cho vòng lặp ..
vòng lồng nhau..
Tại sao chúng ta sử dụng phép lặp trong Python?
Thí dụ
Lặp đi lặp lại các nhiệm vụ giống hệt hoặc tương tự mà không mắc lỗi là điều mà máy tính làm tốt và mọi người làm kém. Việc thực hiện lặp đi lặp lại của một tập hợp các câu lệnh được gọi là lặp. Bởi vì lặp lại rất phổ biến, Python cung cấp một số tính năng ngôn ngữ để làm cho nó dễ dàng hơn.
Python Iterators
myit = iter[mytuple]
Trình lặp là một đối tượng chứa số lượng giá trị có thể đếm được.
print[next[myit]]
print[next[myit]]
Một trình lặp là một đối tượng có thể được lặp lại, có nghĩa là bạn có thể đi qua tất cả các giá trị.
Về mặt kỹ thuật, trong Python, một iterator là một đối tượng thực hiện giao thức iterator, bao gồm các phương pháp x
1 và x
2.
Thí dụ
Iterator vs Iterborable
Danh sách, bộ dữ liệu, từ điển và bộ là tất cả các đối tượng có thể lặp lại. Chúng là những container có thể lặp lại mà bạn có thể nhận được một trình lặp từ.
myit = iter[mystr]
Tất cả các đối tượng này đều có phương thức x
3 được sử dụng để lấy trình lặp:
print[next[myit]]
print[next[myit]]
print[next[myit]]
print[next[myit]]
print[next[myit]]
Hãy tự mình thử »
Ngăn chặn
Ví dụ trên sẽ tiếp tục mãi mãi nếu bạn có đủ các câu lệnh [] tiếp theo hoặc nếu nó được sử dụng trong vòng lặp for
.
Thí dụ
Để ngăn chặn việc lặp đi lặp lại mãi mãi, chúng ta có thể sử dụng câu lệnh else
2.
Trong phương thức x
2, chúng ta có thể thêm một điều kiện chấm dứt để gây ra lỗi nếu lần lặp được thực hiện một số lần được chỉ định:
Dừng lại sau 20 lần lặp:
print[x]
Hãy tự mình thử »
Thí dụ
Ngăn chặn
Ví dụ trên sẽ tiếp tục mãi mãi nếu bạn có đủ các câu lệnh [] tiếp theo hoặc nếu nó được sử dụng trong vòng lặp for
.
Để ngăn chặn việc lặp đi lặp lại mãi mãi, chúng ta có thể sử dụng câu lệnh else
2.
print[x]
Hãy tự mình thử »
Ngăn chặn
Ví dụ trên sẽ tiếp tục mãi mãi nếu bạn có đủ các câu lệnh [] tiếp theo hoặc nếu nó được sử dụng trong vòng lặp for
.
Để ngăn chặn việc lặp đi lặp lại mãi mãi, chúng ta có thể sử dụng câu lệnh else
2.
Trong phương thức x
2, chúng ta có thể thêm một điều kiện chấm dứt để gây ra lỗi nếu lần lặp được thực hiện một số lần được chỉ định:
Dừng lại sau 20 lần lặp:
Phương pháp x
2 cũng cho phép bạn thực hiện các hoạt động và phải trả về mục tiếp theo trong chuỗi.
Thí dụ
Tạo một trình lặp trả về số, bắt đầu với 1 và mỗi chuỗi sẽ tăng thêm một [trả về 1,2,3,4,5, v.v.]:
lớp Mynumbers: & nbsp; def __iter __ [tự]: & nbsp; & nbsp; & nbsp; self.a = 1 & nbsp; & nbsp; & nbsp; tự trả lại
def __iter__[self]:
self.a = 1
return self
& nbsp; def __next __ [tự]: & nbsp; & nbsp; & nbsp; x = self.a & nbsp; & nbsp; & nbsp; self.a += 1 & nbsp; & nbsp; & nbsp; trả lại x
x = self.a
self.a += 1
return x
myClass = mynumbers [] myiter = iter [myClass]
myiter = iter[myclass]
in [tiếp theo [myiter]] in [tiếp theo [myiter]] in [tiếp theo [myiter]] in [tiếp theo [myiter]] in [tiếp theo [myiter]]
print[next[myiter]]
print[next[myiter]]
print[next[myiter]]
print[next[myiter]]
Hãy tự mình thử »
Ngăn chặn
Ví dụ trên sẽ tiếp tục mãi mãi nếu bạn có đủ các câu lệnh [] tiếp theo hoặc nếu nó được sử dụng trong vòng lặp for
.
Để ngăn chặn việc lặp đi lặp lại mãi mãi, chúng ta có thể sử dụng câu lệnh else
2.
Trong phương thức x
2, chúng ta có thể thêm một điều kiện chấm dứt để gây ra lỗi nếu lần lặp được thực hiện một số lần được chỉ định:
Thí dụ
Dừng lại sau 20 lần lặp:
lớp Mynumbers: & nbsp; def __iter __ [tự]: & nbsp; & nbsp; & nbsp; self.a = 1 & nbsp; & nbsp; & nbsp; tự trả lại
def __iter__[self]:
self.a = 1
return self
& nbsp; def __next __ [tự]: & nbsp; & nbsp; & nbsp; Nếu tự.a
if self.a