Hướng dẫn replace while loop in python - thay vòng lặp while trong python

Có, bạn đang sử dụng

for val in sequence:
    # some action
9 một cách chính xác, nhưng bạn có thể muốn sử dụng
names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
0 thay vào đây:

for check in xrange[0, 5, 2]:
    print check

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
0 tạo ra kết quả tương tự khi lặp lại, nhưng không xây dựng toàn bộ danh sách tất cả các chỉ số có thể trước tiên và kết quả là sử dụng ít bộ nhớ hơn:

>>> range[0, 5, 2]
[0, 2, 4]
>>> xrange[0, 5, 2]
xrange[0, 6, 2]

Vì điểm cuối không được bao gồm trong các giá trị, nên không quan trọng nếu bạn sử dụng

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
2 hoặc
names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
3 ở đây làm điểm cuối, nên nó chỉ được tính toán cho bạn từ các tham số đầu vào.

Nếu bạn không sử dụng biến vòng lặp, bạn có thể sử dụng

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
4 để cho biết rằng bạn đang bỏ qua nó trong vòng lặp. Đây chỉ là một quy ước đặt tên:

for _ in xrange[0, 5, 2]:
    # do something 3 times.

Trong trường hợp đó, bạn cũng có thể tính toán có bao nhiêu chỉ số trong khoảng từ 0 đến 5 với một bước hai và đơn giản hóa vòng lặp của bạn thành:

upper_limit, step = 5, 2
for _ in xrange[[upper_limit - 1 + step] // step]:
    # do something 3 times.

Một vòng lặp là một cấu trúc lập trình lặp lại một tập hợp các hướng dẫn cho đến khi một điều kiện được đáp ứng.

Bạn có thể sử dụng các vòng lặp để ví dụ lặp lại trong danh sách các giá trị, tích lũy tổng, các hành động lặp lại, v.v.

Trong Python, bạn có thể sử dụng cho và trong khi các vòng để đạt được hành vi vòng lặp.

Ví dụ, đây là một vòng đơn giản cho vòng lặp in một danh sách các tên vào bảng điều khiển.

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]

Và đây là một vòng lặp đơn giản trong khi in các số từ 0 đến 5:

i = 0

while[i < 5]:
    print[i]
    i += 1

Trong hướng dẫn này, bạn sẽ học

  • Cách sử dụng cho và trong khi các vòng lặp trong Python [thân thiện với người mới bắt đầu] for and while loops in Python [beginner-friendly]
  • Cách kiểm soát dòng chảy của A và trong khi các vòng [thân thiện với người mới bắt đầu] the flow of a for and while loops [beginner-friendly]
  • Các cách khác để tạo cho và trong khi các vòng lặp trong Python [Trung cấp] ways to create for and while loops in Python [intermediate]
  • Cách sử dụng mô-đun Python từ ITERTOOLS cho các tác vụ liên quan đến vòng lặp [Trung cấp] Python’s Itertools module for looping-related tasks [intermediate]

Trong Python, một vòng lặp được sử dụng để lặp lại trên một điều không thể sử dụng được [chẳng hạn như một danh sách hoặc từ điển].iterable [such as a list or dictionary].

  • Có thể lặp lại là bất kỳ đối tượng Python nào mà bạn có thể lặp lại. Ví dụ một danh sách hoặc một từ điển. is any Python object over which you can iterate. For example a list or a dictionary.

Đây là cú pháp cơ bản của một vòng lặp:

for val in sequence:
    # some action

Trong đó Val là biến trong đó các phần tử bên trong chuỗi được lưu trữ từng cái một trong mỗi lần lặp.val is the variable in which the elements inside the sequence are stored one by one during each iteration.

Chẳng hạn, hãy để lặp lại một danh sách các tên và in chúng:

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]

Output:

Ann
Sofie
Jack

Đối với… khác vòng lặp trong Python

Bạn có thể sử dụng một câu lệnh khác trong một vòng lặp. Khối khác được thực thi khi vòng lặp kết thúcelse statement in a for loop. The else block is executed when the looping comes to an end

Ví dụ:

for i in range[3]:
    print[i]
else:
    print['Looping completed.']

Output:

>>> range[0, 5, 2]
[0, 2, 4]
>>> xrange[0, 5, 2]
xrange[0, 6, 2]
0

Range [] hàm trong Python, hãy theo dõi chỉ mục vòng lặp

Cho đến nay, bạn đã thấy một vòng lặp chọn từng yếu tố từ một bộ sưu tập.

Tuy nhiên, đôi khi bạn có thể muốn sử dụng phương pháp truyền thống để lặp: bắt đầu từ số & nbsp; ________ 75 & nbsp; và kết thúc đến & nbsp; ____ 76. Điều này có thể hữu ích, ví dụ khi bạn muốn liên kết một chỉ mục với từng phần tử.

Bạn có thể sử dụng hàm tích hợp & nbsp; phạm vi [] & nbsp; để đạt được điều này. Hàm này trả về A & nbsp; đối tượng phạm vi & nbsp; đó là một chuỗi các số trong phạm vi đã cho. & Nbsp; hàm phạm vi không bao gồm đối số thứ hai.range[] function to achieve this. This function returns a range object that is a sequence of numbers in the given range. The range function excludes the second argument.

Ví dụ:

>>> range[0, 5, 2]
[0, 2, 4]
>>> xrange[0, 5, 2]
xrange[0, 6, 2]
1

Output:

Sự kết luận

Một vòng lặp là một khái niệm lập trình quan trọng. Nó là một quá trình lặp lại các hành động dựa trên các tiêu chí.range[] function:

>>> range[0, 5, 2]
[0, 2, 4]
>>> xrange[0, 5, 2]
xrange[0, 6, 2]
3

Output:

>>> range[0, 5, 2]
[0, 2, 4]
>>> xrange[0, 5, 2]
xrange[0, 6, 2]
4

Các vòng trong Python là cho các vòng lặp hoặc trong khi các vòng.

Có những khái niệm hữu ích có thể làm cho vòng lặp của bạn dễ dàng hơn:

Sự hiểu biết

Chức năng vòng lặp tích hợp & nbsp; map [] & nbsp; và & nbsp; filter []

Chẳng hạn, để in các số từ 0 đến 5, bạn có thể sử dụng một vòng lặp trong thời gian như thế này:

>>> range[0, 5, 2]
[0, 2, 4]
>>> xrange[0, 5, 2]
xrange[0, 6, 2]
5

Output:

>>> range[0, 5, 2]
[0, 2, 4]
>>> xrange[0, 5, 2]
xrange[0, 6, 2]
6

Tương tự như cho các vòng lặp, bạn có thể sử dụng trong khi các vòng lặp để lặp qua Iterables, chẳng hạn như danh sách các số.

Để lặp qua một danh sách với một vòng lặp trong thời gian, bạn cần biết độ dài của danh sách và theo dõi một chỉ mục không được chụp quá mức. Điều này là do vòng lặp trong khi hoạt động sao cho trên mỗi lần lặp, bạn truy cập một phần tử danh sách với một chỉ mục.

Ví dụ:

>>> range[0, 5, 2]
[0, 2, 4]
>>> xrange[0, 5, 2]
xrange[0, 6, 2]
7

Output:

>>> range[0, 5, 2]
[0, 2, 4]
>>> xrange[0, 5, 2]
xrange[0, 6, 2]
8

Trong khi… khác vòng lặp trong Python

Bạn có thể sử dụng câu lệnh & nbsp; other & nbsp; trong a & nbsp; while & nbsp; loop. Khối khác được thực thi khi điều kiện vòng lặp trở thành sai. Nói cách khác, khi vòng lặp chấm dứt.else statement in a while loop. The else block is executed when the looping condition becomes false. In other words, when the loop terminates.

Nếu một vòng lặp bị chấm dứt bởi một câu lệnh break, khối khác không được thực thi.break statement, the else block is not executed.

Đọc thêm về các khối khác trong các vòng lặp trong Python.

Ví dụ:

>>> range[0, 5, 2]
[0, 2, 4]
>>> xrange[0, 5, 2]
xrange[0, 6, 2]
9

Output:

for _ in xrange[0, 5, 2]:
    # do something 3 times.
0

Trong khi… khác vòng lặp trong Python

Bạn có thể sử dụng câu lệnh & nbsp; other & nbsp; trong a & nbsp; while & nbsp; loop. Khối khác được thực thi khi điều kiện vòng lặp trở thành sai. Nói cách khác, khi vòng lặp chấm dứt.

Nếu một vòng lặp bị chấm dứt bởi một câu lệnh break, khối khác không được thực thi.

Đọc thêm về các khối khác trong các vòng lặp trong Python.

for _ in xrange[0, 5, 2]:
    # do something 3 times.
1

Output:

for _ in xrange[0, 5, 2]:
    # do something 3 times.
2

Nested Loops in Python

Bây giờ bạn đã biết cách sử dụng cả cho và trong khi các vòng lặp trong Python.

for _ in xrange[0, 5, 2]:
    # do something 3 times.
3

Output:

for _ in xrange[0, 5, 2]:
    # do something 3 times.
2

Thật đáng để hiểu rằng bạn có thể tạo một vòng lặp bên trong một vòng lặp. Đây được gọi là một vòng lặp lồng nhau.

Ví dụ: đây là một vòng lặp được lồng cho các danh sách của danh sách:break and continue statements. These work the same way for both while loop and 

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
7 loops.

  • Nested trong khi ví dụ vòng lặpbreak statement terminates the loop and proceeds execution at the first statement following the loop.
  • Hãy để lặp lại ví dụ trên với một vòng lặp trong khi lồng nhau:continue statement terminates the current iteration of the loop and proceeds to the next iteration.

Phá vỡ, tiếp tục và vượt qua - kiểm soát dòng chảy của một vòng lặp

Bạn có thể kiểm soát luồng thực thi một vòng lặp bằng cách sử dụng & nbsp; break & nbsp; và & nbsp; tiếp tục & nbsp; câu lệnh. Chúng hoạt động theo cùng một cách cho cả & nbsp; while & nbsp; loop và & nbsp; ________ 77 & nbsp; loops.

Ví dụ:

for _ in xrange[0, 5, 2]:
    # do something 3 times.
5

Output:

for _ in xrange[0, 5, 2]:
    # do something 3 times.
6

Trong khi… khác vòng lặp trong Python

Bạn có thể sử dụng câu lệnh & nbsp; other & nbsp; trong a & nbsp; while & nbsp; loop. Khối khác được thực thi khi điều kiện vòng lặp trở thành sai. Nói cách khác, khi vòng lặp chấm dứt.

for _ in xrange[0, 5, 2]:
    # do something 3 times.
7

Output:

for _ in xrange[0, 5, 2]:
    # do something 3 times.
8

Nếu một vòng lặp bị chấm dứt bởi một câu lệnh break, khối khác không được thực thi.continue statement jumps out of the current iteration and starts the next one. If n > 3 the continue statement is not reached anymore. This means the print action is going to take place.

Đọc thêm về các khối khác trong các vòng lặp trong Python.break and continue statements.

Nested Loops in Pythonpass statement, which is a way to ignore an empty loop.

Bây giờ bạn đã biết cách sử dụng cả cho và trong khi các vòng lặp trong Python.

Thật đáng để hiểu rằng bạn có thể tạo một vòng lặp bên trong một vòng lặp. Đây được gọi là một vòng lặp lồng nhau.not possible to leave a loop [or anything that comes after colon] empty. But there is a dedicated keyword pass for that.

Ví dụ: đây là một vòng lặp được lồng cho các danh sách của danh sách:

for _ in xrange[0, 5, 2]:
    # do something 3 times.
9

Nested trong khi ví dụ vòng lặp

Hãy để lặp lại ví dụ trên với một vòng lặp trong khi lồng nhau:comprehensions. This can help reduce the lines of code and improve code quality.

Phá vỡ, tiếp tục và vượt qua - kiểm soát dòng chảy của một vòng lặp

Bạn có thể kiểm soát luồng thực thi một vòng lặp bằng cách sử dụng & nbsp; break & nbsp; và & nbsp; tiếp tục & nbsp; câu lệnh. Chúng hoạt động theo cùng một cách cho cả & nbsp; while & nbsp; loop và & nbsp; ________ 77 & nbsp; loops.

upper_limit, step = 5, 2
for _ in xrange[[upper_limit - 1 + step] // step]:
    # do something 3 times.
0

Câu lệnh & nbsp; break & nbsp; chấm dứt vòng lặp và tiến hành thực hiện ở câu lệnh đầu tiên theo vòng lặp.

& Nbsp; Tiếp tục & nbsp; câu lệnh chấm dứt lần lặp hiện tại của vòng lặp và tiến hành lần lặp tiếp theo.

upper_limit, step = 5, 2
for _ in xrange[[upper_limit - 1 + step] // step]:
    # do something 3 times.
1

Output:

>>> range[0, 5, 2]
[0, 2, 4]
>>> xrange[0, 5, 2]
xrange[0, 6, 2]
8

Phá vỡ ví dụ

Tuyên bố Break phá vỡ vòng lặp và tiếp tục thực hiện chương trình từ dòng tiếp theo có thể sau vòng lặp.

upper_limit, step = 5, 2
for _ in xrange[[upper_limit - 1 + step] // step]:
    # do something 3 times.
3

Output:

upper_limit, step = 5, 2
for _ in xrange[[upper_limit - 1 + step] // step]:
    # do something 3 times.
4

Tiếp tục ví dụ

upper_limit, step = 5, 2
for _ in xrange[[upper_limit - 1 + step] // step]:
    # do something 3 times.
5

Output:

upper_limit, step = 5, 2
for _ in xrange[[upper_limit - 1 + step] // step]:
    # do something 3 times.
6

Tuyên bố tiếp tục bỏ qua phần còn lại của vòng lặp và bắt đầu lần lặp tiếp theo.

& Nbsp; Tiếp tục & nbsp; câu lệnh nhảy ra khỏi lần lặp hiện tại và bắt đầu câu chuyện tiếp theo. Nếu n> 3 câu lệnh & nbsp; tiếp tục & nbsp; không đạt được nữa. Điều này có nghĩa là & nbsp; in & nbsp; hành động sẽ diễn ra.

Bây giờ bạn đã biết cách kiểm soát luồng thực thi vòng lặp bằng cách sử dụng & nbsp; break & nbsp; và & nbsp; tiếp tục & nbsp; câu lệnh.

Chúng ta hãy xem một câu lệnh & nbsp; pass & nbsp;, đó là một cách để bỏ qua một vòng lặp trống.

However, the slight performance advantage is not a reason to use comprehensions. The goal of using comprehension is to avoid unnecessary lines of code and improve readability. Using lengthy comprehensions for performance does not make sense if it sacrifices the code quality.

Tuyên bố vượt qua trong Python

Trong Python, đó là & nbsp; không phải & nbsp; có thể để lại một vòng lặp [hoặc bất cứ thứ gì xảy ra sau khi đại tràng] trống rỗng. Nhưng có một từ khóa chuyên dụng & nbsp; pass & nbsp; cho điều đó.

  • Chẳng hạn, nếu bạn muốn vượt qua việc thực hiện một vòng lặp cho vòng lặp, hãy làm như vậy:
  • One-Liner cho các vòng lặp bằng cách sử dụng toàn bộ danh sách
  • Bây giờ bạn đã biết những điều cơ bản của các vòng lặp trong Python. Đó là thời gian để xem xét cách nén các vòng lặp bằng cách sử dụng & nbsp; toàn diện. Điều này có thể giúp giảm các dòng mã và cải thiện chất lượng mã.

Danh sách hiểu & nbsp; là một tính năng tích hợp trong Python. Bạn có thể thay thế cho các vòng lặp bằng các biểu thức một lớp.

Cú pháp để hiểu danh sách trông như thế này:

  • Danh sách hiểu biết ví dụ comprehension can improve code quality and reduce the number of lines of code.
  • Tránh viết toàn bộ danh sách dài. Điều này làm cho mã khó theo dõi. lengthy list comprehensions. This makes the code hard to follow.
  • Mỗi danh sách hiểu có thể được viết dưới dạng vòng lặp, nhưng không phải là cách khác. comprehension can be written as a for loop, but not the other way around.
  • Một sự hiểu biết mang lại một lợi thế hiệu suất nhỏ so với một vòng lặp thường xuyên. gives a slight performance advantage over a regular for loop.

Chức năng liệt kê [] trong python

Bạn có nhớ ví dụ mà bạn đã sử dụng hàm phạm vi [] trong một vòng lặp để theo dõi chỉ mục của phần tử hiện tại không? Mặc dù đó là một cách tiếp cận hợp lệ, có một cách tiếp cận tốt hơn: chức năng tích hợp & nbsp; enumerate [] & nbsp; function. Bạn có thể sử dụng nó với các vòng lặp để theo dõi chỉ mục của phần tử hiện tại.range[] function in a for loop to keep track of the index of the current element? Even though it is a valid approach, there is a better one: The built-in enumerate[] function. You can use it with for loops to keep track of the index of the current element.

Ví dụ:

upper_limit, step = 5, 2
for _ in xrange[[upper_limit - 1 + step] // step]:
    # do something 3 times.
7

Output:

upper_limit, step = 5, 2
for _ in xrange[[upper_limit - 1 + step] // step]:
    # do something 3 times.
8

Làm thế nào để liệt kê [] hoạt động

Hàm & nbsp; liệt kê [] & nbsp; có hai đối số:enumerate[] function takes two arguments:

  • Một đối tượng có thể lặp lại, chẳng hạn như một danh sách.
  • Một tùy chọn & nbsp; start & nbsp; index, là & nbsp; 0 & nbsp; theo mặc định.start index, which is 0 by default.

Nó hoạt động bằng cách trả về một & nbsp; liệt kê đối tượng & nbsp; có chứa các yếu tố của số ít kết hợp với một chỉ mục. Điều này rất tiện dụng khi lặp: bạn không cần phải theo dõi một chỉ mục của phần tử hiện tại là & nbsp; enumerate [] & nbsp; làm điều đó cho bạn.enumerate object that contains the elements of the iterable coupled with an index. This is handy when looping: You don’t need to keep track of an index of the current element as enumerate[] does it for you.

Hãy để chứng minh những gì & nbsp; liệt kê [] & nbsp; không.enumerate[] does.

upper_limit, step = 5, 2
for _ in xrange[[upper_limit - 1 + step] // step]:
    # do something 3 times.
9

Output:

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
0

Các yếu tố danh sách được kết hợp với các chỉ mục. Điều này cho thấy nó có thể biết chỉ số của từng phần tử trong một vòng lặp:

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
1

Thay đổi giá trị ban đầu của chỉ mục trong Enumerate []

& Nbsp; liệt kê [] & nbsp; hàm chấp nhận đối số thứ hai & nbsp; tùy chọn. Đây là chỉ mục bắt đầu là & nbsp; 0 & nbsp; theo mặc định. Nếu bạn muốn lập chỉ mục bắt đầu từ một nơi khác, vui lòng xác định & nbsp; start & nbsp; đối số.enumerate[] function accepts a second optional argument. This is the start index which is 0 by default. If you want indexing to start from somewhere else, please define the start argument.

Ví dụ: hãy để bắt đầu lập chỉ mục từ 10:10:

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
2

Output:

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
3

Điều này kết thúc những điều cơ bản của vòng lặp trong Python sử dụng cho và trong khi các vòng lặp. Các chương sau là Python trung gian cho bạn thấy và trong khi các lựa chọn thay thế vòng lặp.

Thay thế cho và trong khi các vòng lặp trong python bằng các hàm map [] và filter []

Bây giờ bạn đã biết những điều cơ bản của vòng lặp trong Python, hãy để Lôi chuyển sang các khái niệm trung gian.

Trong Python, có các chức năng tích hợp dành riêng cho vòng lặp. Các hoạt động này bằng cách áp dụng chức năng A & NBSP; Lambda & nbsp; trên mỗi phần tử trong danh sách và trả về một phiên bản được chuyển đổi của danh sách.lambda function on each element on the list and returning a transformed version of the list.

Trước khi hiển thị một ví dụ về việc sử dụng & nbsp; map [] & nbsp; và & nbsp; filter [], hãy để tìm hiểu chức năng lambda là gì.map[] and filter[], let’s learn what a lambda function is.

Biểu cảm lambda trong python

Hàm Lambda là một hàm không có tên. Nó có bất kỳ số lượng đối số và chỉ có một biểu thức.

Để chứng minh, đây là một hàm Lambda có một số:

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
4

Chẳng hạn, hãy để bình phương một số sử dụng hàm Lambda:

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
5

Output:

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
6

Lambdas rất hữu ích khi cần có chức năng trong một khoảng thời gian ngắn. Nói cách khác, khi bạn không muốn lãng phí tài nguyên bằng cách tạo ra một phương pháp riêng biệt. Một ví dụ tuyệt vời là khi chuyển nó vào A & nbsp; map [] & nbsp; hàm.map[] function.

Hàm bản đồ [] trong Python

Hàm & nbsp; map [] & nbsp; là một sự thay thế cho một vòng lặp. Nó áp dụng một chức năng cho từng yếu tố của một điều khác. Hàm bản đồ [] chấp nhận hai đối số:map[] function is a replacement to a for a loop. It applies a function for each element of an iterable. The map[] function accepts two arguments:

  • Một hàm được áp dụng cho từng phần tử trong danh sách [biểu thức A & NBSP; Lambda] that is applied for each element in the list [a lambda expression]
  • Một danh sách để vận hành on which to operate

& Nbsp; ________ 78 & nbsp; chức năng trả về chức năng là một đối tượng bản đồ. Điều này có thể dễ dàng được chuyển đổi thành danh sách với chức năng & nbsp; list [] & nbsp;list[] function.

Để chứng minh điều này, hãy để bình phương một danh sách các số:

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
7

Output:

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
8

Chức năng của Filter [] trong Python

Hàm & nbsp; filter [] & nbsp; được sử dụng để lọc các phần tử dựa trên một điều kiện. Hàm bộ lọc có hai đối số:filter[] function is used to filter elements based on a condition. The filter function takes two arguments:

  • Một biểu thức Lambda Một hàm được thực thi cho từng phần tử trong danh sách.
  • Một điều có thể xảy ra, chẳng hạn như một danh sách, trên đó nó hoạt động.

Chẳng hạn, hãy để Lập lọc các số chẵn của danh sách số:

names = ["Ann", "Sofie", "Jack"]

for name in names:
    print[name]
9

Output:

i = 0

while[i < 5]:
    print[i]
    i += 1
0

Itertools - hiệu quả và dễ dàng lặp lại trong Python

Itertools & nbsp; là một mô -đun Python. Nó cung cấp cho bạn các chức năng để thực hiện các nhiệm vụ liên quan đến việc lặp qua Iterables. Một phương thức itertool trả về một đối tượng iterator.

Trước khi nhìn thấy các ví dụ, đây là một định nghĩa ngắn cho một & nbsp; iterator & nbsp; an & nbsp; itable:iterator an iterable:

  • Itable & nbsp; là bất kỳ đối tượng python nào mà bạn có thể lặp lại. Ví dụ một danh sách hoặc một từ điển. is any Python object over which you can iterate. For example a list or a dictionary.
  • Một iterator & nbsp; là một đối tượng được sử dụng để lặp lại trên một & nbsp; có thể sử dụng được. Một người lặp chỉ quan tâm đến yếu tố hiện tại của ITBERABLE và biết làm thế nào để có được yếu tố tiếp theo. Điều này làm cho nó bộ nhớ hiệu quả. Mỗi & nbsp; iterator & nbsp; is & nbsp; itable & nbsp; theo bản chất, nhưng không phải là cách khác. is an object used to iterate over an iterable. An iterator only cares about the current element of the iterable and knows how to obtain the next element. This makes it memory efficient. Every iterator is iterable by nature, but not the other way around.

Hãy cùng đi qua một số phương pháp ITERtools hữu ích. Không có những thứ này, bạn sẽ cần phải viết các vòng lồng nhau phức tạp để hoàn thành công việc.

Tích lũy một danh sách các số

Để tính một khoản tiền tích lũy, bạn có thể sử dụng một vòng lặp. Nhưng với sự trợ giúp của itertools, bạn có thể sử dụng & nbsp; itertools. tích lũy [].itertools.accumulate[].

Đây là một minh họa về sự tích lũy:

Tích lũy một tổng chạy bằng itertools

Đây là mã:

i = 0

while[i < 5]:
    print[i]
    i += 1
1

Output:

i = 0

while[i < 5]:
    print[i]
    i += 1
2

Nếu bạn muốn tích lũy một cái gì đó khác ngoài tổng, hãy chuyển một đối số khác cho & nbsp; tích lũy [] & nbsp; phương thức. Đối số này là một hàm được áp dụng cho các yếu tố.accumulate[] method. This argument is a function that is applied to the elements.

Ví dụ, hãy để tích lũy sản phẩm:

Tích lũy sản phẩm đang chạy để thực hiện điều này, pass & nbsp; nhà điều hành.mul & nbsp; đến & nbsp; tích lũy [] & nbsp; phương thức để tích lũy sản phẩm thay vì tổng: tổng hợp:

To do this, pass operator.mul to the accumulate[] method to make it accumulate the product instead of the sum:

i = 0

while[i < 5]:
    print[i]
    i += 1
3

Output:

i = 0

while[i < 5]:
    print[i]
    i += 1
4

Nhóm A Bộ sưu tập các phần tử với hàm Groupby []

Bạn có thể nhóm được một tiêu chí bằng cách sử dụng & nbsp; itertools.groupby [] & nbsp; phương thức.itertools.groupby[] method.

Hãy để nhóm nhóm danh sách các số sau thành các nhóm số ít hơn ba và lớn hơn ba:

i = 0

while[i < 5]:
    print[i]
    i += 1
5

Output:

i = 0

while[i < 5]:
    print[i]
    i += 1
6

Tính toán sản phẩm Cartesian

Sản phẩm Cartesian là một nhóm gồm tất cả các cặp từ hai danh sách:

Sản phẩm Cartesian

Để tính toán sản phẩm Cartesian, bạn có thể sử dụng cho các vòng lặp. Nhưng itertools cung cấp cho bạn một cách để có được nó bằng cách sử dụng & nbsp; itertools.product [] & nbsp; phương thức. Nó trả về sản phẩm Cartesian như một đối tượng Iterator.itertools.product[] method. It returns the Cartesian product as an iterator object.

Ví dụ:

i = 0

while[i < 5]:
    print[i]
    i += 1
7

Output:

i = 0

while[i < 5]:
    print[i]
    i += 1
8

Có được tất cả các hoán vị

Đưa ra một nhóm các mặt hàng, bạn có thể tìm thấy tất cả các cách có thể để sắp xếp chúng với & nbsp; itertools.permutations [].itertools.permutations[].

Ví dụ:

i = 0

while[i < 5]:
    print[i]
    i += 1
9

Output:

for val in sequence:
    # some action
0

Nhận tất cả các kết hợp

Sử dụng & nbsp; itertools.combinations [] & nbsp; để tìm tất cả các kết hợp [có kích thước n] của một nhóm các mặt hàng.itertools.combinations[] to find all the combinations [of size n] of a group of items.

Chẳng hạn, hãy để Lừa tìm tất cả các cặp bạn có thể hình thành từ danh sách ba số:

for val in sequence:
    # some action
1

Output:

for val in sequence:
    # some action
2

Vòng lặp vô hạn, một vòng lặp vô hạn hợp lệ

Infinite Iterators & nbsp; làm cho nó có thể cung cấp một dòng số vô hạn. Nó giống như một vòng lặp vô hạn hợp lệ của người Viking. make it possible to give an infinite stream of numbers. It is like a “valid infinite loop”.

Nó không thể lưu trữ vô số phần tử trong bộ nhớ. Nhưng vì các trình lặp chỉ quan tâm đến yếu tố hiện tại, nên nó có thể tạo ra một mục vô hạn & nbsp; stream & nbsp; của các mục sử dụng một iterator.stream of items using an iterator.

Hãy để đi qua các ví dụ.

Đếm

Bạn có thể sử dụng & nbsp; itertools.count [] & nbsp; phương thức để lặp số từ số bắt đầu đến vô cực.itertools.count[] method to loop numbers from a starting number to infinity.

Ví dụ, hãy để tạo ra một luồng số vô hạn bắt đầu từ 10:10:

for val in sequence:
    # some action
3

Output:

for val in sequence:
    # some action
4

Đi xe đạp

Bạn có thể sử dụng itertools để tung hứng danh sách các số bằng phương thức & nbsp; itertools.cycle [] & nbsp; Chu kỳ lặp lại mãi mãi.itertools.cycle[] method. The cycle repeats forever.

Ví dụ:

for val in sequence:
    # some action
5

Output:

for val in sequence:
    # some action
6

Nhận tất cả các kết hợp

Sử dụng & nbsp; itertools.combinations [] & nbsp; để tìm tất cả các kết hợp [có kích thước n] của một nhóm các mặt hàng.itertools.repeat[].

Ví dụ:

for val in sequence:
    # some action
7

Output:

for val in sequence:
    # some action
8

Có được tất cả các hoán vị

Đưa ra một nhóm các mặt hàng, bạn có thể tìm thấy tất cả các cách có thể để sắp xếp chúng với & nbsp; itertools.permutations [].

Ví dụ:

Nhận tất cả các kết hợp

  • Sử dụng & nbsp; itertools.combinations [] & nbsp; để tìm tất cả các kết hợp [có kích thước n] của một nhóm các mặt hàng.
  • Chẳng hạn, hãy để Lừa tìm tất cả các cặp bạn có thể hình thành từ danh sách ba số:map[] and filter[]
  • Vòng lặp vô hạn, một vòng lặp vô hạn hợp lệ

Infinite Iterators & nbsp; làm cho nó có thể cung cấp một dòng số vô hạn. Nó giống như một vòng lặp vô hạn hợp lệ của người Viking.

Nó không thể lưu trữ vô số phần tử trong bộ nhớ. Nhưng vì các trình lặp chỉ quan tâm đến yếu tố hiện tại, nên nó có thể tạo ra một mục vô hạn & nbsp; stream & nbsp; của các mục sử dụng một iterator.

Hãy để đi qua các ví dụ.

Đếm

Bạn có thể sử dụng & nbsp; itertools.count [] & nbsp; phương thức để lặp số từ số bắt đầu đến vô cực.

Những gì có thể được sử dụng thay vì trong khi vòng lặp trong Python?

Trong Python, các vòng lặp cho các vòng lặp được gọi là Iterators. Giống như trong khi Loop, thì For For Loop cũng được sử dụng để lặp lại chương trình. Nhưng không giống như trong khi vòng lặp phụ thuộc vào điều kiện đúng hoặc sai. Đối với vòng lặp, phụ thuộc vào các yếu tố mà nó phải lặp lại.for loops” are called iterators. Just like while loop, “For Loop” is also used to repeat the program. But unlike while loop which depends on condition true or false. “For Loop” depends on the elements it has to iterate.

Mọi người có thể được thay thế bằng vòng lặp cho Python không?

Bạn luôn có thể chuyển đổi một vòng lặp thời gian thành một vòng lặp.Vòng lặp trong khi vòng lặp DO tương đương với sức mạnh biểu cảm của chúng;Nói cách khác, bạn có thể viết lại một vòng lặp trong thời gian bằng cách sử dụng vòng lặp DO và ngược lại.Bạn luôn có thể viết một chương trình mà không cần sử dụng Break hoặc tiếp tục trong một vòng lặp.. The while loop and the do loop are equivalent in their expressive power; in other words, you can rewrite a while loop using a do loop, and vice versa. You can always write a program without using break or continue in a loop.

Tại sao chúng ta sử dụng cho thay vì vòng lặp?

Sử dụng một vòng lặp khi bạn biết vòng lặp sẽ thực hiện n lần.Sử dụng vòng lặp thời gian để đọc một tệp vào một biến.Sử dụng vòng lặp trong thời gian khi yêu cầu đầu vào của người dùng.Sử dụng vòng lặp trong thời gian khi giá trị gia tăng không đạt tiêu chuẩn.. Use a while loop for reading a file into a variable. Use a while loop when asking for user input. Use a while loop when the increment value is nonstandard.

Có thể thay thế cho mỗi vòng lặp cho và trong khi các vòng không?

Đối với [] vòng lặp luôn có thể được thay thế bằng vòng lặp trong while [], nhưng đôi khi, bạn không thể sử dụng vòng lặp và vòng lặp trong while [].Tôi sẽ đào sâu hơn.for [] vòng lặp được gọi là 'vòng lặp đếm', nghĩa là nếu bạn biết bạn sẽ chạy vòng lặp bao nhiêu lần, chẳng hạn như đi qua toàn bộ một mảng [cái này được gọi là Iterating]., but sometimes, you cannot use for[] loop and while[] loop must be used. I am going to dig deeper. for[] loop is called 'counted loop', meaning if you know how many times you will run the loop, such as going through an entire array [this is called iterating].

Chủ Đề