Open In App

Looping Techniques in Python

Last Updated : 19 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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)


Output

Ashoka 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


Output

Count is 3

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

PyQt5 QSpinBox - Adding looping
In this article we will see how we can add looping to the spin box, when we create a spin box by default when it reaches the maximum value it can't be incremented any more similarly when it reaches minimum value it can't be decremented any more. By adding looping to the spin box the values repeat it self after the maximum or minimum value is reache
2 min read
PyQt5 StringSpinBox - Looping the strings
In this article we will see how we can make the string values repeat themselves when the last value reaches it should go back to the first value similarly when value is decremented after first value it should go back to the last value. In order to do this we have to change the custom class code of the StringSpinBox. Below is the code for the custom
4 min read
Looping through buttons in Tkinter
In this article, let’s see how we can loop through the buttons in Tkinter. Stepwise implementation: Step 1: Import the Tkinter package and all of its modules and create a root window (root = Tk()). C/C++ Code # Import package and it's modules from tkinter import * # create root window root = Tk() # root window title and dimension root.title(&quot;G
2 min read
Python | Thresholding techniques using OpenCV | Set-1 (Simple Thresholding)
Thresholding is a technique in OpenCV, which is the assignment of pixel values in relation to the threshold value provided. In thresholding, each pixel value is compared with the threshold value. If the pixel value is smaller than the threshold, it is set to 0, otherwise, it is set to a maximum value (generally 255). Thresholding is a very popular
3 min read
Python | Thresholding techniques using OpenCV | Set-2 (Adaptive Thresholding)
Prerequisite: Simple Thresholding using OpenCV In the previous post, Simple Thresholding was explained with different types of thresholding techniques. Another Thresholding technique is Adaptive Thresholding. In Simple Thresholding, a global value of threshold was used which remained constant throughout. So, a constant threshold value won't help in
2 min read
Python | Thresholding techniques using OpenCV | Set-3 (Otsu Thresholding)
In the previous posts, Simple Thresholding and Adaptive Thresholding were explained. In Simple Thresholding, the global value of threshold was used which remained constant throughout. In Adaptive thresholding, the threshold value is calculated for smaller regions with different threshold values for different regions with respect to the change in li
2 min read
Advanced Python List Methods and Techniques
Lists are just like dynamically sized arrays, declared in other languages (vector in C++ and ArrayList in Java). Lists need not be homogeneous always which makes it a most powerful tool in Python. A single list may contain DataTypes like Integers, Strings, as well as Objects. Lists are mutable, and hence, they can be altered even after their creati
6 min read
Short Circuiting Techniques in Python
By short-circuiting, we mean the stoppage of execution of boolean operation if the truth value of expression has been determined already. The evaluation of expression takes place from left to right. In python, short-circuiting is supported by various boolean operators and functions. Short-Circuiting in Boolean Operators The chart given below gives
4 min read
Variations in different Sorting techniques in Python
These are all different types for sorting techniques that behave very differently. Let's study which technique works how and which one to use. Let 'a' be a numpy array a.sort() (i) Sorts the array in-place &amp; returns None (ii) Return type is None (iii) Occupies less space. No copy created as it directly sorts the original array (iv) Faster than
3 min read
Tree Traversal Techniques in Python
A tree is a non-linear data structure or we can say that it is a type of hierarchical structure. It is like an inverted tree where roots are present at the top and leaf or child nodes are present at the bottom of the tree. The root node and its child nodes are connected through the edges like the branches in the tree. In this article, we will learn
5 min read
Article Tags :
Practice Tags :