Itertool is a module provided by Python for creating iterators for efficient looping. It also provides various features or functions that work with iterators to produce complex iterators and help us to solve problems easily and efficiently in terms of time as well as memory. Itertools module provides us various ways to manipulate the sequence that we are traversing through.
Different types of iterators provided by this module are:
Note: For more information, refer to Python Itertools
Itertools.permutation() function falls under the Combinatoric Generators. The recursive generators that are used to simplify combinatorial constructs such as permutations, combinations, and Cartesian products are called combinatoric iterators.
As understood by the word “Permutation” it refers to all the possible combinations in which a set or string can be ordered or arranged. Similarly here
itertool.permutations() method provides us with all the possible arrangements that can be there for an iterator and all elements are assumed to be unique on the basis of there position and not by there value or category. All these permutations are provided in lexicographical order. The function
itertool.permutations() takes an iterator and ‘r’ (length of permutation needed) as input and assumes ‘r’ as default length of iterator if not mentioned and returns all possible permutations of length ‘r’ each.
('G', 'e', 'E', 'K') ('G', 'e', 'K', 'E') ('G', 'E', 'e', 'K') ('G', 'E', 'K', 'e') ('G', 'K', 'e', 'E') ('G', 'K', 'E', 'e') ('e', 'G', 'E', 'K') ('e', 'G', 'K', 'E') ('e', 'E', 'G', 'K') ('e', 'E', 'K', 'G') ('e', 'K', 'G', 'E') ('e', 'K', 'E', 'G') ('E', 'G', 'e', 'K') ('E', 'G', 'K', 'e') ('E', 'e', 'G', 'K') ('E', 'e', 'K', 'G') ('E', 'K', 'G', 'e') ('E', 'K', 'e', 'G') ('K', 'G', 'e', 'E') ('K', 'G', 'E', 'e') ('K', 'e', 'G', 'E') ('K', 'e', 'E', 'G') ('K', 'E', 'G', 'e') ('K', 'E', 'e', 'G')
All the permutations of the given list is: [(1, 'geeks'), ('geeks', 1)] All the permutations of the given string is: [('A', 'B'), ('B', 'A')] All the permutations of the given container is: [(0, 1), (0, 2), (1, 0), (1, 2), (2, 0), (2, 1)]
- Important differences between Python 2.x and Python 3.x with examples
- Python | Set 4 (Dictionary, Keywords in Python)
- Python | Sort Python Dictionaries by Key or Value
- Python | Merge Python key values to list
- Reading Python File-Like Objects from C | Python
- Python | Add Logging to a Python Script
- Python | Add Logging to Python Libraries
- Python | Visualizing O(n) using Python
- Python | Index of Non-Zero elements in Python list
- Python | Convert list to Python array
- MySQL-Connector-Python module in Python
- Python - Read blob object in python using wand library
- Python | PRAW - Python Reddit API Wrapper
- twitter-text-python (ttp) module - Python
- Reusable piece of python functionality for wrapping arbitrary blocks of code : Python Context Managers
- Python program to check if the list contains three consecutive common numbers in Python
- Creating and updating PowerPoint Presentations in Python using python - pptx
- How to write an empty function in Python - pass statement?
- Operator Functions in Python | Set 2
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.