Hướng dẫn how to use iteration in python - cách sử dụng phép lặp trong python
|
Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Đối với các vòng lặp trong Python (Lặp lại xác định) This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: For Loops in Python (Definite Iteration)
Show
Hướng dẫn này sẽ chỉ cho bạn cách thực hiện lần lặp xác định với vòng lặp Python 0.definite iteration with a Python
0 loop.Trong hướng dẫn trước đây trong loạt giới thiệu này, bạn đã học được như sau:
Ở đây, những gì bạn bao gồm trong hướng dẫn này:
Một cuộc khảo sát về lặp lại xác định trong lập trìnhCác vòng lặp xác định thường được gọi là các vòng 0 vì
0 là từ khóa được sử dụng để giới thiệu chúng trong gần như tất cả các ngôn ngữ lập trình, bao gồm cả Python.
0 loops because
0 is the keyword that is used to introduce them in nearly all programming languages, including Python.Trong lịch sử, các ngôn ngữ lập trình đã cung cấp một vài hương vị của vòng lặp 0. Đây được mô tả ngắn gọn trong các phần sau.Vòng lặp phạm vi sốVòng lặp 0 cơ bản nhất là một câu lệnh phạm vi số đơn giản với các giá trị bắt đầu và kết thúc. Định dạng chính xác khác nhau tùy thuộc vào ngôn ngữ nhưng thường trông giống như thế này:
Ở đây, cơ thể của vòng lặp được thực hiện mười lần. Biến 7 giả định giá trị
8 trên lần lặp thứ nhất,
9 trên thứ hai, v.v. Loại vòng lặp
0 này được sử dụng trong các ngôn ngữ cơ bản, algol và pascal.Vòng lặp ba biểu hiệnMột hình thức khác của vòng lặp 0 được phổ biến bởi ngôn ngữ lập trình C chứa ba phần:
Loại vòng lặp này có hình thức sau:
Vòng lặp này được giải thích như sau:
Các vòng lặp ba biểu hiện 0 rất phổ biến vì các biểu thức được chỉ định cho ba phần có thể là gần như mọi thứ, vì vậy điều này có độ linh hoạt hơn một chút so với dạng phạm vi số đơn giản hơn được hiển thị ở trên. Các vòng lặp
0 này cũng được giới thiệu trong các ngôn ngữ C ++, Java, PHP và Perl.Vòng lặp dựa trên bộ sưu tập hoặc dựa trên vòng lặpLoại vòng lặp này lặp lại trên một tập hợp các đối tượng, thay vì chỉ định các giá trị hoặc điều kiện số:
Mỗi lần thông qua vòng lặp, biến 7 có giá trị của đối tượng tiếp theo trong
0. Loại vòng
0 này được cho là tổng quát và trừu tượng nhất. Perl và PHP cũng hỗ trợ loại vòng lặp này, nhưng nó được giới thiệu bởi từ khóa
2 thay vì
0.Vòng lặp Python for in : 0Trong số các loại vòng được liệt kê ở trên, Python chỉ thực hiện lần lặp lại cuối cùng: Lặp lại dựa trên bộ sưu tập. Lúc đầu, điều đó có vẻ như là một thỏa thuận thô, nhưng hãy yên tâm rằng việc thực hiện Python, việc lặp lại xác định rất linh hoạt đến nỗi bạn đã giành được cảm giác bị lừa! Một thời gian ngắn, bạn sẽ đào sâu vào các ruột của Python từ 0 Loop một cách chi tiết. Nhưng bây giờ, hãy để bắt đầu với một nguyên mẫu và ví dụ nhanh chóng, chỉ để làm quen.Vòng lặp Python từ 0 trông như thế này:
7 là một tập hợp các đối tượng, ví dụ, một danh sách hoặc tuple.
8 trong thân vòng được biểu thị bằng vết lõm, như với tất cả các cấu trúc điều khiển Python và được thực hiện một lần cho mỗi mục trong
7. Biến vòng lặp
0 có giá trị của phần tử tiếp theo trong
7 mỗi lần thông qua vòng lặp.Đây là một ví dụ đại diện:
>>> Trong ví dụ này, 7 là danh sách
3 và
0 là biến
7. Mỗi lần thông qua vòng lặp,
7 đảm nhận một mục liên tiếp trong
3, do đó
8 hiển thị các giá trị
9,
0 và
1, tương ứng. Một vòng lặp
0 như thế này là cách pythonic để xử lý các vật phẩm trong một điều không thể xảy ra.Nhưng chính xác thì một điều gì đó là gì? Trước khi kiểm tra các vòng lặp 0 hơn nữa, sẽ có lợi khi đi sâu hơn vào những gì lặp đi lặp lại trong Python.Vòng lặpTrong Python, có nghĩa là một đối tượng có thể được sử dụng trong lặp. Thuật ngữ này được sử dụng như:iterable means an object can be used in iteration. The term is used as:
Nếu một đối tượng có thể sử dụng được, nó có thể được chuyển đến chức năng Python tích hợp 4, trả về một thứ gọi là tererator. Vâng, thuật ngữ có một chút lặp đi lặp lại. Treo ở đó. Tất cả cuối cùng làm việc.iterator. Yes, the terminology gets a bit repetitive. Hang in there. It all works out in the end.Mỗi đối tượng trong ví dụ sau là có thể lặp lại và trả về một số loại lặp khi được chuyển đến 4:
>>> Mặt khác, các loại đối tượng này không thể hiểu được:
>>> Mặt khác, các loại đối tượng này không thể hiểu được: Tất cả các loại dữ liệu bạn đã gặp cho đến nay là các loại bộ sưu tập hoặc container đều có thể hiểu được. Chúng bao gồm chuỗi, danh sách, tuple, dict, set và frozenset. Nhưng đây không phải là loại duy nhất mà bạn có thể lặp lại. Nhiều đối tượng được tích hợp vào Python hoặc được xác định trong các mô -đun được thiết kế để có thể sử dụng được. Ví dụ, mở các tập tin trong Python là có thể hiểu được. Như bạn sẽ thấy sớm trong hướng dẫn trên Tệp I/O, việc lặp lại một đối tượng tệp mở đọc dữ liệu từ tệp. Trong thực tế, hầu hết mọi đối tượng trong Python đều có thể được thực hiện. Ngay cả các đối tượng do người dùng xác định cũng có thể được thiết kế theo cách mà chúng có thể được lặp lại. (Bạn sẽ tìm hiểu làm thế nào điều đó được thực hiện trong bài viết sắp tới về lập trình hướng đối tượng.)Trình lặp Được rồi, bây giờ bạn biết ý nghĩa của một đối tượng là có thể sử dụng được và bạn biết cách sử dụng 4 để lấy một trình lặp từ nó. Một khi bạn đã có một người lặp, bạn có thể làm gì với nó?Một iterator về cơ bản là một nhà sản xuất giá trị mang lại các giá trị liên tiếp từ đối tượng có thể đánh giá cao của nó. Hàm tích hợp 7 được sử dụng để có được giá trị tiếp theo từ trong Iterator.
>>> Mặt khác, các loại đối tượng này không thể hiểu được: Tất cả các loại dữ liệu bạn đã gặp cho đến nay là các loại bộ sưu tập hoặc container đều có thể hiểu được. Chúng bao gồm chuỗi, danh sách, tuple, dict, set và frozenset. Nhưng đây không phải là loại duy nhất mà bạn có thể lặp lại. Nhiều đối tượng được tích hợp vào Python hoặc được xác định trong các mô -đun được thiết kế để có thể sử dụng được. Ví dụ, mở các tập tin trong Python là có thể hiểu được. Như bạn sẽ thấy sớm trong hướng dẫn trên Tệp I/O, việc lặp lại một đối tượng tệp mở đọc dữ liệu từ tệp.
>>> Mặt khác, các loại đối tượng này không thể hiểu được: Tất cả các loại dữ liệu bạn đã gặp cho đến nay là các loại bộ sưu tập hoặc container đều có thể hiểu được. Chúng bao gồm chuỗi, danh sách, tuple, dict, set và frozenset.
>>>
Mặt khác, các loại đối tượng này không thể hiểu được: Tất cả các loại dữ liệu bạn đã gặp cho đến nay là các loại bộ sưu tập hoặc container đều có thể hiểu được. Chúng bao gồm chuỗi, danh sách, tuple, dict, set và frozenset. >>> 0
Mặt khác, các loại đối tượng này không thể hiểu được: >>> 1
Mặt khác, các loại đối tượng này không thể hiểu được: Tất cả các loại dữ liệu bạn đã gặp cho đến nay là các loại bộ sưu tập hoặc container đều có thể hiểu được. Chúng bao gồm chuỗi, danh sách, tuple, dict, set và frozenset. Nhưng đây không phải là loại duy nhất mà bạn có thể lặp lại. Nhiều đối tượng được tích hợp vào Python hoặc được xác định trong các mô -đun được thiết kế để có thể sử dụng được. Ví dụ, mở các tập tin trong Python là có thể hiểu được. Như bạn sẽ thấy sớm trong hướng dẫn trên Tệp I/O, việc lặp lại một đối tượng tệp mở đọc dữ liệu từ tệp. Trong thực tế, hầu hết mọi đối tượng trong Python đều có thể được thực hiện. Ngay cả các đối tượng do người dùng xác định cũng có thể được thiết kế theo cách mà chúng có thể được lặp lại. (Bạn sẽ tìm hiểu làm thế nào điều đó được thực hiện trong bài viết sắp tới về lập trình hướng đối tượng.)Trình lặp
Bây giờ, hãy xem xét lại vòng lặp 0 đơn giản được trình bày khi bắt đầu hướng dẫn này:
>>>
Vòng lặp này có thể được mô tả hoàn toàn theo các khái niệm bạn vừa biết. Để thực hiện vòng lặp này, vòng lặp 0 mô tả, Python làm như sau:
Cơ thể vòng lặp được thực hiện một lần cho mỗi mục 7 trả về, với biến vòng
7 được đặt thành mục đã cho cho mỗi lần lặp.
Trình tự các sự kiện này được tóm tắt trong sơ đồ sau: Có lẽ điều này có vẻ như rất nhiều hoạt động kinh doanh khỉ không cần thiết, nhưng lợi ích là đáng kể. Python xử lý lặp lại tất cả các vòng lặp theo cách chính xác theo cách này, và trong Python, Iterables và Iterators rất nhiều:
Bạn sẽ khám phá thêm về tất cả những điều trên trong suốt loạt bài này. Tất cả chúng có thể là mục tiêu của vòng lặp 0 và cú pháp giống nhau trên bảng. Nó thanh lịch trong sự đơn giản và linh hoạt.
Lặp lại thông qua một từ điểnBạn đã thấy trước đó rằng một trình lặp có thể được lấy từ một từ điển với 4, vì vậy bạn biết từ điển phải có thể sử dụng được. Điều gì xảy ra khi bạn lặp qua một từ điển? Hãy xem nào:
>>> 3
Như bạn có thể thấy, khi một vòng lặp 0 lặp qua từ điển, biến vòng lặp được gán cho các khóa từ điển.
Để truy cập các giá trị từ điển trong vòng lặp, bạn có thể thực hiện tham chiếu từ điển bằng cách sử dụng khóa như bình thường: >>> 4
Bạn cũng có thể lặp lại thông qua các giá trị từ điển trực tiếp bằng cách sử dụng 14:
>>> 5
Trên thực tế, bạn có thể lặp lại cả các khóa và giá trị của từ điển đồng thời. Đó là bởi vì biến vòng lặp của vòng lặp 0 không chỉ giới hạn ở một biến duy nhất. Nó cũng có thể là một tuple, trong trường hợp đó, các bài tập được thực hiện từ các mục trong sự khác biệt bằng cách sử dụng đóng gói và giải nén, giống như với một câu lệnh gán:
>>> 6
Như đã lưu ý trong hướng dẫn về từ điển Python, phương thức từ điển 16 Trả về một cách hiệu quả một danh sách các cặp khóa/giá trị dưới dạng bộ dữ liệu:
>>> 7
Do đó, cách pythonic để lặp lại thông qua từ điển truy cập cả các khóa và giá trị trông như thế này: >>> 8
Hàm for (i = 1; i <= 10; i++) 17Trong phần đầu tiên của hướng dẫn này, bạn đã thấy một loại vòng lặp 0 được gọi là vòng lặp phạm vi số, trong đó bắt đầu và kết thúc các giá trị số được chỉ định. Mặc dù hình thức vòng lặp
0 này được tích hợp trực tiếp vào Python, nhưng nó dễ dàng đến.
Ví dụ: nếu bạn muốn lặp lại thông qua các giá trị từ 20 đến
21, bạn có thể chỉ cần làm điều này:
>>> 9
Giải pháp này không quá tệ khi chỉ có một vài con số. Nhưng nếu phạm vi số lớn hơn nhiều, nó sẽ trở nên tẻ nhạt khá nhanh. Hạnh phúc thay, Python cung cấp một tùy chọn tốt hơn, chức năng 17 tích hợp, trả về một thứ có thể mang lại một chuỗi số nguyên.
23 trả về một số lượng có thể mang lại số nguyên bắt đầu bằng
20, cho đến nhưng không bao gồm
25:
>>> 0
Lưu ý rằng 17 trả về một đối tượng của lớp
27, không phải là danh sách hoặc tuple của các giá trị. Bởi vì một đối tượng
27 là một điều có thể đi được, bạn có thể thu được các giá trị bằng cách lặp lại chúng bằng một vòng lặp
0:
>>> 1
Bạn cũng có thể lấy tất cả các giá trị cùng một lúc với 0 hoặc
2. Trong một phiên thay thế, đó có thể là một cách thuận tiện để nhanh chóng hiển thị các giá trị là gì:
>>> 2
Tuy nhiên, khi 17 được sử dụng trong mã là một phần của ứng dụng lớn hơn, nó thường được coi là thực hành kém để sử dụng
0 hoặc
2 theo cách này. Giống như trình lặp, các đối tượng
27 là lười biếng, các giá trị trong phạm vi được chỉ định không được tạo cho đến khi chúng được yêu cầu. Sử dụng
0 hoặc
2 trên đối tượng
27 buộc tất cả các giá trị sẽ được trả về cùng một lúc. Điều này hiếm khi cần thiết, và nếu danh sách dài, nó có thể lãng phí thời gian và trí nhớ.
39 trả về một số lượng có thể mang lại số nguyên bắt đầu bằng
40, cho đến nhưng không bao gồm
25. Nếu được chỉ định,
42 cho biết số lượng bỏ qua giữa các giá trị (tương tự với giá trị sải chân được sử dụng cho chuỗi và cắt danh sách):
>>> 3
Nếu 42 bị bỏ qua, nó mặc định là
8:
>>> 4
Tất cả các tham số được chỉ định cho 17 phải là số nguyên, nhưng bất kỳ tham số nào có thể âm. Đương nhiên, nếu
40 lớn hơn
25,
42 phải âm (nếu bạn muốn có bất kỳ kết quả nào):
>>> 5
Thay đổi hành vi vòng lặp for in : 0Bạn đã thấy trong hướng dẫn trước đây trong loạt giới thiệu này làm thế nào việc thực hiện vòng lặp 1 có thể bị gián đoạn với các câu lệnh
51 và
52 và được sửa đổi bằng mệnh đề
53. Những khả năng này cũng có sẵn với vòng lặp
0.Các câu lệnh for (i = 1; i <= 10; i++) 51 và for (i = 1; i <= 10; i++) 52
51 và
52 hoạt động theo cách tương tự với các vòng lặp
0 như với các vòng
1.
51 chấm dứt hoàn toàn vòng lặp và tiến hành câu lệnh đầu tiên sau vòng lặp:
>>> 6
52 chấm dứt lần lặp hiện tại và tiến hành lần lặp tiếp theo:
>>> 7Điều khoản for (i = 1; i <= 10; i++) 53Một vòng lặp 0 cũng có thể có mệnh đề
53. Việc giải thích tương tự như vòng lặp
1. Điều khoản
53 sẽ được thực thi nếu vòng lặp chấm dứt thông qua sự kiệt sức của điều đó:
>>> 8Điều khoản 53 won won sẽ được thực thi nếu danh sách bị chia tay bằng tuyên bố
51:
>>> 9Sự kết luậnHướng dẫn này đã trình bày vòng lặp 0, công việc của sự lặp lại xác định trong Python.definite iteration in Python.Bạn cũng đã tìm hiểu về các hoạt động bên trong của các phép lặp và lặp, hai loại đối tượng quan trọng làm nền tảng cho phép lặp xác định, nhưng cũng nổi bật trong một loạt các mã Python khác.iterables and iterators, two important object types that underlie definite iteration, but also figure prominently in a wide variety of other Python code. Trong hai hướng dẫn tiếp theo trong chuỗi giới thiệu này, bạn sẽ chuyển bánh răng một chút và khám phá cách các chương trình Python có thể tương tác với người dùng thông qua đầu vào từ bàn phím và đầu ra vào bảng điều khiển.input from the keyboard and output to the console. Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Đối với các vòng lặp trong Python (Lặp lại xác định) This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: For Loops in Python (Definite Iteration) Làm thế nào là lặp lại được sử dụng trong Python?
Các lần lặp được thực hiện thông qua các vòng 'và' trong khi '. Lặp lại thực hiện một tập hợp các hướng dẫn liên tục cho đến khi một số tiêu chí giới hạn được đáp ứng. Trái ngược với đệ quy, việc lặp lại không yêu cầu bộ nhớ tạm thời để giữ kết quả của từng lần lặp.through 'for' and 'while' loops. Iterations execute a set of instructions repeatedly until some limiting criteria is met. In contrast to recursion, iteration does not require temporary memory to keep on the results of each iteration.
Lặp đi lặp lại trong Python với ví dụ là gì?
Trình lặp là một đối tượng chứa số lượng giá trị có thể đếm được. Một người 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 __ ().An iterator is an object that can be iterated upon, meaning that you can traverse through all the values. Technically, in Python, an iterator is an object which implements the iterator protocol, which consist of the methods __iter__() and __next__() .
Vòng lặp lặp trong Python là gì?
Việc thực hiện lặp đi lặp lại của cùng một khối mã lặp đi lặp lại được gọi là lặp. Có hai loại lặp: Lặp lại xác định, trong đó số lần lặp lại được chỉ định trước một cách rõ ràng. Lặp lại không xác định, trong đó khối mã thực thi cho đến khi một số điều kiện được đáp ứng. is referred to as iteration. There are two types of iteration: Definite iteration, in which the number of repetitions is specified explicitly in advance. Indefinite iteration, in which the code block executes until some condition is met.
Làm thế nào để bạn lặp lại một số trong Python?
Để lặp qua một bộ mã, một số lần được chỉ định, chúng ta có thể sử dụng hàm phạm vi (), hàm phạm vi () trả về một chuỗi số, bắt đầu từ 0 theo mặc định và tăng thêm 1 (theo mặc định) và kết thúctại một số cụ thể.use the range() function, The range() function returns a sequence of numbers, starting from 0 by default, and increments by 1 (by default), and ends at a specified number.
Lặp đi lặp lại với ví dụ là gì?
Lặp lại là quá trình lặp lại các bước.Ví dụ, một thuật toán rất đơn giản để ăn ngũ cốc ăn sáng có thể bao gồm các bước sau: Đặt ngũ cốc vào bát.Thêm sữa vào ngũ cốc.Ngũ cốc và sữa vào miệng.the process of repeating steps. For example, a very simple algorithm for eating breakfast cereal might consist of these steps: put cereal in bowl. add milk to cereal. spoon cereal and milk into mouth.
Làm thế nào để bạn lặp lại một đối tượng trong Python?
Bạn có thể tạo một đối tượng Iterator bằng cách triển khai chức năng tích hợp ITER cho một ITEBLEBLE.Một iterator có thể được sử dụng để lặp thủ công các mục trong Itable.Việc chuyển lặp đi lặp lại của trình lặp đến chức năng tiếp theo tích hợp trả về các mục liên tiếp trong luồng.create an iterator object by implementing the iter built-in function to an iterable. An iterator can be used to manually loop over the items in the iterable. The repeated passing of the iterator to the built-in next function returns successive items in the stream.
|
