Looping Techniques in Python
Last Updated :
19 Sep, 2023
Python supports various looping techniques by certain inbuilt functions, in various sequential containers. These methods are primarily very useful in competitive programming and also in various projects that require a specific technique with loops maintaining the overall structure of code. A lot of time and memory space is been saved as there is no need to declare the extra variables which we declare in the traditional approach of loops.
Where they are used?
Different looping techniques are primarily useful in places where we don't need to actually manipulate the structure and order of the overall containers, rather only print the elements for a single-use instance, no in-place change occurs in the container. This can also be used in instances to save time.
Different looping techniques using Python data structures are:
Way 1: Using enumerate(): enumerate() is used to loop through the containers printing the index number along with the value present in that particular index.
Python3
# python code to demonstrate working of enumerate()
for key, value in enumerate(['The', 'Big', 'Bang', 'Theory']):
print(key, value)
Output:
0 The
1 Big
2 Bang
3 Theory
Python3
# python code to demonstrate working of enumerate()
for key, value in enumerate(['Geeks', 'for', 'Geeks',
'is', 'the', 'Best',
'Coding', 'Platform']):
print(value, end=' ')
Output:
Geeks for Geeks is the Best Coding Platform
Way 2: Using zip(): zip() is used to combine 2 or more containers printing the values sequentially. The loop exists only till the smaller container ends. A detailed explanation of zip() and enumerate() can be found here.
Example 1: Two different data type(list,tuple)
Python
# python code to demonstrate working of zip()
names = ['Deep', 'Sachin', 'Simran'] # list
ages = (24, 27, 25) # tuple
for name, age in zip(names, ages):
print('Name: ', name)
print('Age: ', age)
print()
Output('Name: ', 'Deep')
('Age: ', 24)
()
('Name: ', 'Sachin')
('Age: ', 27)
()
('Name: ', 'Simran')
('Age: ', 25)
()
Example 2: Two similar datatype list-list
Python3
# python code to demonstrate working of zip()
# initializing list
questions = ['name', 'colour', 'shape']
answers = ['apple', 'red', 'a circle']
# using zip() to combine two containers
# and print values
for question, answer in zip(questions, answers):
print('What is your {0}? I am {1}.'.format(question, answer))
Output:
What is your name? I am apple.
What is your color? I am red.
What is your shape? I am a circle.
Way 3: Using iteritem(): iteritems() is used to loop through the dictionary printing the dictionary key-value pair sequentially which is used before Python 3 version.
Way 4: Using items(): items() performs the similar task on dictionary as iteritems() but have certain disadvantages when compared with iteritems().
- It is very time-consuming. Calling it on large dictionaries consumes quite a lot of time.
- It takes a lot of memory. Sometimes takes double the memory when called on a dictionary.
Example 1:
Python3
# python code to demonstrate working of items()
d = {"geeks": "for", "only": "geeks"}
# iteritems() is renamed to items() in python3
# using items to print the dictionary key-value pair
print("The key value pair using items is : ")
for i, j in d.items():
print(i, j)
Output:
The key value pair using iteritems is :
geeks for
only geeks
Example 2:
Python3
# python code to demonstrate working of items()
king = {'Ashoka': 'The Great', 'Chandragupta': 'The Maurya',
'Modi': 'The Changer'}
# using items to print the dictionary key-value pair
for key, value in king.items():
print(key, value)
OutputAshoka The Great
Chandragupta The Maurya
Modi The Changer
Way 5: Using sorted(): sorted() is used to print the container is sorted order. It doesn't sort the container but just prints the container in sorted order for 1 instance. The use of set() can be combined to remove duplicate occurrences.
Example 1:
Python3
# python code to demonstrate working of sorted()
# initializing list
lis = [1, 3, 5, 6, 2, 1, 3]
# using sorted() to print the list in sorted order
print("The list in sorted order is : ")
for i in sorted(lis):
print(i, end=" ")
print("\r")
# using sorted() and set() to print the list in sorted order
# use of set() removes duplicates.
print("The list in sorted order (without duplicates) is : ")
for i in sorted(set(lis)):
print(i, end=" ")
Output:
The list in sorted order is :
1 1 2 3 3 5 6
The list in sorted order (without duplicates) is :
1 2 3 5 6
Example 2:
Python3
# python code to demonstrate working of sorted()
# initializing list
basket = ['guave', 'orange', 'apple', 'pear',
'guava', 'banana', 'grape']
# using sorted() and set() to print the list
# in sorted order
for fruit in sorted(set(basket)):
print(fruit)
Output:
apple
banana
grape
guava
guave
orange
pear
Way 6: Using reversed(): reversed() is used to print the values of the container in the reversed order. It does not reflect any changes to the original list
Example 1:
Python3
# python code to demonstrate working of reversed()
# initializing list
lis = [1, 3, 5, 6, 2, 1, 3]
# using reversed() to print the list in reversed order
print("The list in reversed order is : ")
for i in reversed(lis):
print(i, end=" ")
Output:
The list in reversed order is :
3 1 2 6 5 3 1
Example 2:
Python3
# python code to demonstrate working of reversed()
# using reversed() to print in reverse order
for i in reversed(range(1, 10, 3)):
print(i)
Output:
7
4
1
- These techniques are quick to use and reduce coding effort. for, while loops need the entire structure of the container to be changed.
- These Looping techniques do not require any structural changes to the container. They have keywords that present the exact purpose of usage. Whereas, no pre-predictions or guesses can be made in for, while loop i.e not easily understand the purpose at a glance.
- Looping technique makes the code more concise than using for & while looping.
looping techniques while loop using if statements:
In this example, we use a while loop to increment a variable called count. Inside the loop, we use an if statement to check if count is equal to 3. If it is, we print a message.
Approach:
Initialize a count variable to 0
Use a while loop to repeatedly execute a block of code as long as count is less than 5
Inside the loop, use an if statement to check if count is equal to 3
If count is 3, print a message
Increment the count by 1 at the end of each iteration
Python3
# Example variable
count = 0
# Loop while count is less than 5
while count < 5:
if count == 3:
print("Count is 3")
count += 1
Time complexity: O(n), where n is the number of iterations required for count to reach 5.
Auxiliary Space: O(1), since only one variable (count) is used throughout the code.
Similar Reads
Python Tutorial - Learn Python Programming Language Python is one of the most popular programming languages. Itâs simple to use, packed with features and supported by a wide range of libraries and frameworks. Its clean syntax makes it beginner-friendly. It'sA high-level language, used in web development, data science, automation, AI and more.Known fo
10 min read
Python Interview Questions and Answers Python is the most used language in top companies such as Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify and many more because of its simplicity and powerful libraries. To crack their Online Assessment and Interview Rounds as a Python developer, we need to master important Pyth
15+ min read
Python OOPs Concepts Object Oriented Programming is a fundamental concept in Python, empowering developers to build modular, maintainable, and scalable applications. By understanding the core OOP principles (classes, objects, inheritance, encapsulation, polymorphism, and abstraction), programmers can leverage the full p
11 min read
Python Projects - Beginner to Advanced Python is one of the most popular programming languages due to its simplicity, versatility, and supportive community. Whether youâre a beginner eager to learn the basics or an experienced programmer looking to challenge your skills, there are countless Python projects to help you grow.Hereâs a list
10 min read
Python Exercise with Practice Questions and Solutions Python Exercise for Beginner: Practice makes perfect in everything, and this is especially true when learning Python. If you're a beginner, regularly practicing Python exercises will build your confidence and sharpen your skills. To help you improve, try these Python exercises with solutions to test
9 min read
Python Programs Practice with Python program examples is always a good choice to scale up your logical understanding and programming skills and this article will provide you with the best sets of Python code examples.The below Python section contains a wide collection of Python programming examples. These Python co
11 min read
Python Introduction Python was created by Guido van Rossum in 1991 and further developed by the Python Software Foundation. It was designed with focus on code readability and its syntax allows us to express concepts in fewer lines of code.Key Features of PythonPythonâs simple and readable syntax makes it beginner-frien
3 min read
Python Data Types Python Data types are the classification or categorization of data items. It represents the kind of value that tells what operations can be performed on a particular data. Since everything is an object in Python programming, Python data types are classes and variables are instances (objects) of thes
9 min read
Input and Output in Python Understanding input and output operations is fundamental to Python programming. With the print() function, we can display output in various formats, while the input() function enables interaction with users by gathering input during program execution. Taking input in PythonPython input() function is
8 min read
Enumerate() in Python enumerate() function adds a counter to each item in a list or other iterable. It turns the iterable into something we can loop through, where each item comes with its number (starting from 0 by default). We can also turn it into a list of (number, item) pairs using list().Let's look at a simple exam
3 min read