current position:Home>Iterator of Python basic language
Iterator of Python basic language
2022-01-30 06:53:48 【Alvin305】
Little knowledge , Great challenge ! This article is participating in “ A programmer must have a little knowledge ” Creative activities
iterator
Iteration is a way to access collection elements . An iterator is an object that remembers the traversal position . The iterator object is accessed from the first element of the collection , Until all elements are accessed . Iterators can only go forward, not backward .
1. Iteratable object
python Some data types in the language can be used directly for Loop to get the element value , such as :
Collection data type :list,tuple,dict,set,str etc.
generator (generator), Including generator and belt yield Of generator function
These can act directly on for Circular objects are collectively called iteratable objects :Iterable
2. Decide if you can iterate
You can use isinstance() Function to determine whether an object is an iteratable object Iterable
>>> from collections import Iterable
>>> isinstance([],Iterable)
>>> True
>>> isinstance({},Iterable)
>>> True
>>> isinstance("abc",Iterable)
>>> True
>>> isinstance((x for x in range(10)),Iterable)
>>> True
>>> isinstance(100,Iterable)
>>> False
Copy code
We know that generators can not only use for Loop through to get the element , You can also use next() The function keeps calling to return the next value , Until the last throw StopIteration An error means that the next value cannot be returned .
3. iterator
Can be next() The object that function calls and returns the next value continuously is called an iterator :Iterator.
use isinstance() Function to determine whether an object is an iterator object :
>>> from collections import Iterator
>>> isinstance([],Iterator)
>>> False
>>> isinstance({},Iterator)
>>> False
>>> isinstance('abc',Iterator)
>>> False
>>> isinstance((x for x in range(10)),Iterator)
>>> True
>>> isinstance(100,Iterator)
>>> False
Copy code
From the above code, you can see the list , aggregate , Dictionaries , Although strings are iteratable objects, they are not iterators . The generator is both an iteratable object and an iterator .
4. iter() function
It says that all generators are Iterator. and list,dict,str Such iteratable objects are not Iterator, But we can pass iter() The function converts it to Iterator. as follows :
>>> isinstance(iter([]),Iterator)
>>> True
>>> isinstance(iter({}),Iterator)
>>> True
>>> isinstance(iter('abc'),Iterator)
>>> True
Copy code
summary
- What works for The objects of the loop are all Iterable type
- Usually used as next() Function objects are Iterator type
- The collection data type is as follows list,dict,str Wait, although it is Iterable No Iterator, But through iter() Function to Iterator
copyright notice
author[Alvin305],Please bring the original link to reprint, thank you.
https://en.pythonmana.com/2022/01/202201300653459654.html
The sidebar is recommended
- [recalling the 1970s] using Python to repair the wonderful memories of parents' generation, black-and-white photos become color photos
- You used to know Python advanced
- Pyinstaller package Python project
- 2021 IEEE programming language rankings: Python tops the list!
- Implementation of Python automatic test control
- Python advanced: [Baidu translation reverse] graphic and video teaching!!!
- Do you know the fuzzy semantics in Python syntax?
- [Python from introduction to mastery] (XXVII) learn more about pilot!
- Playing excel office automation with Python
- Some applications of heapq module of Python module
guess what you like
-
Python and go languages are so popular, which is more suitable for you?
-
Python practical skills task segmentation
-
Python simulated Login, numpy module, python simulated epidemic spread
-
Python opencv contour discovery function based on image edge extraction
-
Application of Hoff circle detection in Python opencv
-
Python reptile test ox knife (I)
-
Day 1: learn the Django framework of Python development
-
django -- minio_ S3 file storage service
-
[algorithm learning] 02.03 Delete intermediate nodes (Java / C / C + + / Python / go)
-
Similarities and differences of five pandas combinatorial functions
Random recommended
- Learning in Python + opencv -- extracting corners
- Python beginner's eighth day ()
- Necessary knowledge of Python: take you to learn regular expressions from zero
- Get your girlfriend's chat records with Python and solve the paranoia with one move
- My new book "Python 3 web crawler development practice (Second Edition)" has been recommended by the father of Python!
- From zero to familiarity, it will take you to master the use of Python len() function
- Python type hint type annotation guide
- leetcode 108. Convert Sorted Array to Binary Search Tree(python)
- For the geometric transformation of Python OpenCV image, let's first talk about the extraordinary resize function
- leetcode 701. Insert into a Binary Search Tree (python)
- For another 3 days, I sorted out 80 Python datetime examples, which must be collected!
- Python crawler actual combat | using multithreading to crawl lol HD Wallpaper
- Complete a python game in 28 minutes, "customer service play over the president card"
- The universal Python praise machine (commonly known as the brushing machine) in the whole network. Do you want to know the principle? After reading this article, you can write one yourself
- How does Python compare file differences between two paths
- Common OS operations for Python
- [Python data structure series] linear table - explanation of knowledge points + code implementation
- How Python parses web pages using BS4
- How do Python Network requests pass parameters
- Python core programming - decorator
- Python Network Programming -- create a simple UPD socket to realize mutual communication between two processes
- leetcode 110. Balanced Binary Tree(python)
- Django uses Django celery beat to dynamically add scheduled tasks
- The bear child said "you haven't seen Altman" and hurriedly studied it in Python. Unexpectedly
- Optimization iteration of nearest neighbor interpolation and bilinear interpolation algorithm for Python OpenCV image
- Bilinear interpolation algorithm for Python OpenCV image, the most detailed algorithm description in the whole network
- Use of Python partial()
- Python game development, pyGame module, python implementation of angry birds
- leetcode 1104. Path In Zigzag Labelled Binary Tree(python)
- Save time and effort. 10 lines of Python code automatically clean up duplicate files in the computer
- Learn python, know more meat, and be a "meat expert" in the technical circle. One article is enough
- [Python data structure series] "stack (sequential stack and chain stack)" -- Explanation of knowledge points + code implementation
- Datetime module of Python time series
- Python encrypts and decrypts des to solve the problem of inconsistency with Java results
- Chapter 1: introduction to Python programming-4 Hello World
- Summary of Python technical points
- 11.5K Star! An open source Python static type checking Library
- Chapter 2: Fundamentals of python-1 grammar
- [Python daily homework] day4: write a function to count the number of occurrences of each number in the incoming list and return the corresponding dictionary.
- Python uses turtle to express white