Tererators in PythonTererators ở khắp mọi nơi trong Python. Chúng được thực hiện một cách tao nhã trong các vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1, toàn bộ, máy phát điện, v.v. nhưng được ẩn trong tầm nhìn rõ ràng. Show
Iterator in Python chỉ đơn giản là một đối tượng có thể được lặp lại. Một đối tượng sẽ trả về dữ liệu, một phần tử tại một thời điểm. Về mặt kỹ thuật, một đối tượng iterator Python phải thực hiện hai phương pháp đặc biệt, 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration2 và 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration3, gọi chung là giao thức Iterator.iterator object must implement two special methods, 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration2 and 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration3, collectively called the iterator protocol. Một đối tượng được gọi là ITable nếu chúng ta có thể nhận được một trình lặp từ nó. Hầu hết các thùng chứa tích hợp trong Python như: list, tuple, chuỗi, vv là lặp đi lặp lại.iterable if we can get an iterator from it. Most built-in containers in Python like: list, tuple, string etc. are iterables. Hàm 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration4 (lần lượt gọi phương thức 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration2) trả về trình lặp từ chúng. Lặp lại thông qua một trình lặpChúng tôi sử dụng chức năng 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration6 để lặp thủ công tất cả các mục của trình lặp. Khi chúng tôi đạt đến kết thúc và không còn dữ liệu nào được trả về, nó sẽ tăng ngoại lệ 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration7. Sau đây là một ví dụ.
Đầu ra 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration Một cách thanh lịch hơn để tự động lặp lại là bằng cách sử dụng vòng lặp cho. Sử dụng điều này, chúng tôi có thể lặp lại bất kỳ đối tượng nào có thể trả về trình lặp, ví dụ như danh sách, chuỗi, tệp, v.v.
Làm việc cho vòng lặp cho các trình lặp lạiNhư chúng ta thấy trong ví dụ trên, vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 có thể tự động lặp qua danh sách. Trong thực tế, vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 có thể lặp lại trên bất kỳ điều đó. Chúng ta hãy xem xét kỹ hơn về cách vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 thực sự được triển khai trong Python.
Thực sự được thực hiện như.
Vì vậy, bên trong, vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 tạo ra một đối tượng iterator, 2 bằng cách gọi 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration4 trên Itable. Trớ trêu thay, vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 này thực sự là một vòng vô hạn trong khi vòng lặp. Bên trong vòng lặp, nó gọi 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration6 để có được phần tử tiếp theo và thực hiện phần thân của vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 với giá trị này. Sau khi tất cả các vật phẩm xả, 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration7 được nâng lên trong nội bộ và các vòng lặp kết thúc. Lưu ý rằng bất kỳ loại ngoại lệ nào khác sẽ đi qua. Xây dựng trình lặp tùy chỉnhXây dựng một trình lặp từ đầu rất dễ dàng trong Python. Chúng tôi chỉ phải thực hiện các phương pháp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration2 và 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration3. Phương thức 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration2 trả về chính đối tượng Iterator. Nếu được yêu cầu, một số khởi tạo có thể được thực hiện. Phương thức 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration3 phải trả về mục tiếp theo trong chuỗi. Khi đạt đến kết thúc, và trong các cuộc gọi tiếp theo, nó phải tăng 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration7. Ở đây, chúng tôi trình bày một ví dụ sẽ cho chúng tôi sức mạnh tiếp theo của 2 trong mỗi lần lặp. Điện tử bắt đầu từ số 0 lên đến số người dùng. Nếu bạn không có bất kỳ ý tưởng nào về lập trình hướng đối tượng, hãy truy cập & nbsp; lập trình hướng đối tượng Python.
Đầu ra 1 2 4 8 Traceback (most recent call last): File "/home/bsoyuj/Desktop/Untitled-1.py", line 32, in <module> print(next(i)) File "<string>", line 18, in __next__ raise StopIteration StopIteration Một cách thanh lịch hơn để tự động lặp lại là bằng cách sử dụng vòng lặp cho. Sử dụng điều này, chúng tôi có thể lặp lại bất kỳ đối tượng nào có thể trả về trình lặp, ví dụ như danh sách, chuỗi, tệp, v.v.
Làm việc cho vòng lặp cho các trình lặp lạiNhư chúng ta thấy trong ví dụ trên, vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 có thể tự động lặp qua danh sách. Trong thực tế, vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 có thể lặp lại trên bất kỳ điều đó. Chúng ta hãy xem xét kỹ hơn về cách vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 thực sự được triển khai trong Python. Thực sự được thực hiện như.
Vì vậy, bên trong, vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 tạo ra một đối tượng iterator, 2 bằng cách gọi 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration4 trên Itable. Trớ trêu thay, vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 này thực sự là một vòng vô hạn trong khi vòng lặp.
Bên trong vòng lặp, nó gọi 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration6 để có được phần tử tiếp theo và thực hiện phần thân của vòng lặp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration1 với giá trị này. Sau khi tất cả các vật phẩm xả, 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration7 được nâng lên trong nội bộ và các vòng lặp kết thúc. Lưu ý rằng bất kỳ loại ngoại lệ nào khác sẽ đi qua. 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration0 Xây dựng trình lặp tùy chỉnh Xây dựng một trình lặp từ đầu rất dễ dàng trong Python. Chúng tôi chỉ phải thực hiện các phương pháp 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration2 và 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration3. Phương thức 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration2 trả về chính đối tượng Iterator. Nếu được yêu cầu, một số khởi tạo có thể được thực hiện. Phương thức 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration3 phải trả về mục tiếp theo trong chuỗi. Khi đạt đến kết thúc, và trong các cuộc gọi tiếp theo, nó phải tăng 4 7 0 3 Traceback (most recent call last): File "<string>", line 24, in <module> next(my_iter) StopIteration7. Việc sử dụng Iterator trong Python là gì?Iterator in Python là một đối tượng được sử dụng để lặp lại các đối tượng có thể lặp lại như danh sách, bộ dữ liệu, dicts và bộ. Đối tượng Iterator được khởi tạo bằng phương thức iter (). Nó sử dụng phương thức tiếp theo () cho phép lặp. __next __ (): Phương thức tiếp theo trả về giá trị tiếp theo cho ITEBELLE.to iterate over iterable objects like lists, tuples, dicts, and sets. The iterator object is initialized using the iter() method. It uses the next() method for iteration. __next__(): The next method returns the next value for the iterable.
Lợi ích của việc sử dụng tererators là gì?Lợi ích của người lặp.Sử dụng một trình lặp lại đơn giản hóa mã và làm cho nó chung.Lợi ích của việc sử dụng API Iterator này bao gồm: xử lý các biến thuộc tất cả các loại, kích thước và hình dạng đồng đều, cho dù chúng có phù hợp với bộ nhớ hay không, ngay cả khi một hàng không phù hợp với bộ nhớ.treats variables of all types, sizes, and shapes uniformly, whether they fit in memory or not, even if a single row won't fit in memory.
Tại sao Iterator được sử dụng thay vì cho vòng lặp?Trong For-Arech Loop, chúng tôi không thể sửa đổi bộ sưu tập, nó sẽ ném một cách khác với đồng thời với Iterator, chúng tôi có thể sửa đổi bộ sưu tập.Sửa đổi một bộ sưu tập chỉ đơn giản là loại bỏ một phần tử hoặc thay đổi nội dung của một mục được lưu trữ trong bộ sưu tập.with iterator we can modify collection. Modifying a collection simply means removing an element or changing content of an item stored in the collection.
Iterator là gì khi nào chúng ta nên sử dụng nó?Trình lặp là một đối tượng có thể được sử dụng để lặp qua các bộ sưu tập, như ArrayList và Hashset.Nó được gọi là "tererator" vì "lặp lại" là thuật ngữ kỹ thuật để lặp.Để sử dụng trình lặp, bạn phải nhập nó từ gói java.util.an object that can be used to loop through collections, like ArrayList and HashSet. It is called an "iterator" because "iterating" is the technical term for looping. To use an Iterator, you must import it from the java.util package. |