Python programming language provides two types of Python loopshecking time. In this article, we will look at Python loops and understand their working with the help of examp – For loop and While loop to handle looping requirements. Loops in Python provides three ways for executing the loops.
While all the ways provide similar basic functionality, they differ in their syntax and condition-checking time. In this article, we will look at Python loops and understand their working with the help of examples.
While Loop in Python
In Python, a while loop is used to execute a block of statements repeatedly until a given condition is satisfied. When the condition becomes false, the line immediately after the loop in the program is executed.
Python While Loop Syntax:
while expression:
statement(s)
All the statements indented by the same number of character spaces after a programming construct are considered to be part of a single block of code. Python uses indentation as its method of grouping statements.
Let’s learn how to use a while loop in Python with Examples:
Example of Python While Loop
Let’s see a simple example of a while loop in Python. The given Python code uses a ‘while' loop to print “Hello Geek” three times by incrementing a variable called ‘count' from 1 to 3.
Python
count = 0
while (count < 3):
count = count + 1
print("Hello Geek")
OutputHello Geek
Hello Geek
Hello Geek
Using else statement with While Loop in Python
The else clause is only executed when your while condition becomes false. If you break out of the loop, or if an exception is raised, it won’t be executed.
Syntax of While Loop with else statement:
while condition:
# execute these statements
else:
# execute these statements
Here is an example of while loop with else statement in Python:
The code prints “Hello Geek” three times using a ‘while' loop and then, after the loop, it prints “In Else Block” because there is an “else” block associated with the ‘while' loop.
Python
count = 0
while (count < 3):
count = count + 1
print("Hello Geek")
else:
print("In Else Block")
OutputHello Geek
Hello Geek
Hello Geek
In Else Block
Infinite While Loop in Python
If we want a block of code to execute infinite number of time, we can use the while loop in Python to do so.
The code uses a ‘while' loop with the condition (count == 0). This loop will only run as long as count is equal to 0. Since count is initially set to 0, the loop will execute indefinitely because the condition is always true.
Python
count = 0
while (count == 0):
print("Hello Geek")
Note: It is suggested not to use this type of loop as it is a never-ending infinite loop where the condition is always true and you have to forcefully terminate the compiler.
For Loop in Python
For loops are used for sequential traversal. For example: traversing a list or string or array etc. In Python, there is “for in” loop which is similar to foreach loop in other languages. Let us learn how to use for loops in Python for sequential traversals with examples.
For Loop Syntax:
for iterator_var in sequence:
statements(s)
It can be used to iterate over a range and iterators.
Example:
The code uses a Python for loop that iterates over the values from 0 to 3 (not including 4), as specified by the range(0, n) construct. It will print the values of ‘i' in each iteration of the loop.
Python
n = 4
for i in range(0, n):
print(i)
Example with List, Tuple, String, and Dictionary Iteration Using for Loops in Python
We can use for loop to iterate lists, tuples, strings and dictionaries in Python.
The code showcases different ways to iterate through various data structures in Python. It demonstrates iteration over lists, tuples, strings, dictionaries, and sets, printing their elements or key-value pairs.
The output displays the contents of each data structure as it is iterated.
Python
print("List Iteration")
l = ["geeks", "for", "geeks"]
for i in l:
print(i)
print("\nTuple Iteration")
t = ("geeks", "for", "geeks")
for i in t:
print(i)
print("\nString Iteration")
s = "Geeks"
for i in s:
print(i)
print("\nDictionary Iteration")
d = dict({'x':123, 'y':354})
for i in d:
print("%s %d" % (i, d[i]))
print("\nSet Iteration")
set1 = {1, 2, 3, 4, 5, 6}
for i in set1:
print(i),
OutputList Iteration
geeks
for
geeks
Tuple Iteration
geeks
for
geeks
String Iteration
G
e
e
k
s
Dictionary Iteration
xyz 123
abc 345
Set Iteration
1
2
3
4
5
6
Iterating by the Index of Sequences
We can also use the index of elements in the sequence to iterate. The key idea is to first calculate the length of the list and in iterate over the sequence within the range of this length. See the below
Example: This code uses a ‘for' loop to iterate over a list and print each element. It iterates through the list based on the index of each element, obtained using ‘range(len(list))'. The result is that it prints each item in the list on separate lines.
Python
list = ["geeks", "for", "geeks"]
for index in range(len(list)):
print(list[index])
Using else Statement with for Loop in Python
We can also combine else statement with for loop like in while loop. But as there is no condition in for loop based on which the execution will terminate so the else block will be executed immediately after for block finishes execution.
In this code, the ‘for' loop iterates over a list and prints each element, just like in the previous example. However, after the loop is finished, the “else” block is executed. So, in this case, it will print “Inside Else Block” once the loop completes.
Python
list = ["geeks", "for", "geeks"]
for index in range(len(list)):
print(list[index])
else:
print("Inside Else Block")
Outputgeeks
for
geeks
Inside Else Block
Nested Loops in Python
Python programming language allows to use one loop inside another loop which is called nested loop. Following section shows few examples to illustrate the concept.
Nested Loops Syntax:
for iterator_var in sequence:
for iterator_var in sequence:
statements(s)
statements(s)
The syntax for a nested while loop statement in the Python programming language is as follows:
while expression:
while expression:
statement(s)
statement(s)
A final note on loop nesting is that we can put any type of loop inside of any other type of loops in Python. For example, a for loop can be inside a while loop or vice versa.
Example: This Python code uses nested ‘for' loops to create a triangular pattern of numbers. It iterates from 1 to 4 and, in each iteration, prints the current number multiple times based on the iteration number. The result is a pyramid-like pattern of numbers.
Python
from __future__ import print_function
for i in range(1, 5):
for j in range(i):
print(i, end=' ')
print()
Output1
2 2
3 3 3
4 4 4 4
Loop Control Statements
Loop control statements change execution from their normal sequence. When execution leaves a scope, all automatic objects that were created in that scope are destroyed. Python supports the following control statements.
Continue Statement
The continue statement in Python returns the control to the beginning of the loop.
Example: This Python code iterates through the characters of the string ‘geeksforgeeks’. When it encounters the characters ‘e’ or ‘s’, it uses the continue statement to skip the current iteration and continue with the next character. For all other characters, it prints “Current Letter :” followed by the character. So, the output will display all characters except ‘e’ and ‘s’, each on a separate line.
Python
for letter in 'geeksforgeeks':
if letter == 'e' or letter == 's':
continue
print('Current Letter :', letter)
OutputCurrent Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
Break Statement
The break statement in Python brings control out of the loop.
Example: In this Python code, it iterates through the characters of the string ‘geeksforgeeks’. When it encounters the characters ‘e’ or ‘s’, it uses the break statement to exit the loop. After the loop is terminated, it prints “Current Letter :” followed by the last character encountered in the loop (either ‘e’ or ‘s’). So, the output will display “Current Letter :” followed by the first occurrence of ‘e’ or ‘s’ in the string.
Python
for letter in 'geeksforgeeks':
if letter == 'e' or letter == 's':
break
print('Current Letter :', letter)
Pass Statement
We use pass statement in Python to write empty loops. Pass is also used for empty control statements, functions and classes.
Example: This Python code iterates through the characters of the string ‘geeksforgeeks’ using a ‘for' loop. However, it doesn’t perform any specific action within the loop, and the ‘pass' statement is used. After the loop, it prints “Last Letter :” followed by the last character in the string, which is ‘s’.
Python
for letter in 'geeksforgeeks':
pass
print('Last Letter :', letter)
How for loop works internally in Python?
Before proceeding to this section, you should have a prior understanding of Python Iterators.
Firstly, lets see how a simple for loops in Python looks like.
Example: This Python code iterates through a list called fruits, containing “apple”, “orange” and “kiwi.” It prints each fruit name on a separate line, displaying them in the order they appear in the list.
Python
fruits = ["apple", "orange", "kiwi"]
for fruit in fruits:
print(fruit)
Here we can see the for loops that iterates over iterable object fruit which is a list. Lists, sets, dictionaries are few iterable objects while an integer object is not an iterable object. For loops can iterate over any of these iterable objects.
This Python code manually iterates through a list of fruits using an iterator. It prints each fruit’s name one by one and stops when there are no more items in the list.
Python
fruits = ["apple", "orange", "kiwi"]
iter_obj = iter(fruits)
while True:
try:
fruit = next(iter_obj)
print(fruit)
except StopIteration:
break
We can see that under the hood we are calling iter() and next() method.
We have covered Python Loops in this article. We also saw how to use for loop, while loop and nested loop in Python. This article provides different use-case scenarios and examples to demonstrate working of loops and give clear understanding.
Learn More on Loops:
Python Loops – FAQs
Which loop is faster in Python?
In general, for loops tend to be faster than while loops in Python due to the way they are implemented. However, the difference in performance between for and while loops is often negligible for most practical purposes. The choice between them should be based on clarity and suitability for the specific task rather than performance concerns.
Why is Python slow in loops?
Python can be perceived as slow in loops when compared to lower-level languages like C or C++. This is primarily because Python is an interpreted language, meaning that each line of code is executed one by one at runtime. Additionally, Python’s dynamic typing and memory management can introduce overhead compared to statically-typed compiled languages.
How many loops are used in Python?
Python supports several types of loops:
for loop: Iterates over a sequence (e.g., list, tuple, string, dictionary).while loop: Executes a block of code as long as a specified condition is true.- Nested loops: One loop inside another loop.
- Comprehensions (e.g., list comprehensions, dictionary comprehensions): Concise ways to create lists, dictionaries, etc., using loops.
How to improve Python loops?
To optimize loops in Python, consider the following tips:
- Use list comprehensions: They are often faster than traditional
for loops for creating lists. - Minimize function calls: Move function calls outside loops if possible.
- Use built-in functions: Python’s built-in functions (e.g.,
map(), filter(), sum()) are optimized and can be faster than manually written loops. - Profile your code: Use tools like
cProfile to identify bottlenecks and optimize accordingly. - Consider using libraries: Libraries like NumPy and pandas offer optimized functions for common tasks involving loops over arrays or data frames.
Is for loop bad in Python?
No, for loops are not inherently bad in Python. They are a fundamental construct for iteration and are widely used in Python programming. However, for certain tasks involving large datasets or performance-critical code, optimizing loop operations using techniques like list comprehensions, vectorized operations (in libraries like NumPy), or reducing function calls can improve efficiency.
Similar Reads
Python Tutorial | Learn Python Programming Language
Python Tutorial - Python is one of the most popular programming languages today, known for its simplicity and extensive features. Its clean and straightforward syntax makes it beginner-friendly, while its powerful libraries and frameworks makes it perfect for developers. A high-level, interpreted la
10 min read
Getting Started with Python Programming
To get started with Python, let's first finish the installation steps. Here's a basic guide to setup Python in your system. Install PythonBefore starting this Python course first, you need to install Python on your computer. To install Python on your computer, follow these steps: Download Python: Go
2 min read
Input and Output in Python
Understanding input and output operations is fundamental to Python programming. With the print() function, you can display output in various formats, while the input() function enables interaction with users by gathering input during program execution. Print Output in PythonAt its core, printing out
7 min read
Data Types
Python String
A string is a sequence of characters. Python treats anything inside quotes as a string. This includes letters, numbers, and symbols. Python has no character data type so single character is a string of length 1. [GFGTABS] Python s = "GfG" print(s) [/GFGTABS]OutputGfG In this example, s hol
5 min read
Python Lists
In Python, a list is a built-in dynamic sized array (automatically grows and shrinks) that is used to store an ordered collection of items. We can store all types of items (including another list) in a list. A list may contain mixed type of items, this is possible because a list mainly stores refere
5 min read
Python Tuples
Python Tuple is a collection of Python Programming objects much like a list. The sequence of values stored in a tuple can be of any type, and they are indexed by integers. Values of a tuple are syntactically separated by 'commas'. Although it is not necessary, it is more common to define a tuple by
9 min read
Python Sets
Python Set is an unordered collection of data types that is iterable, mutable, and has no duplicate elements. The order of elements in a set is undefined though it may consist of various elements. The major advantage of using a set, as opposed to a list, is that it has a highly optimized method for
15 min read
Dictionaries in Python
A Python dictionary is a data structure that stores the value in key: value pairs. Values in a dictionary can be of any data type and can be duplicated, whereas keys can't be repeated and must be immutable. Example: Here, The data is stored in key:value pairs in dictionaries, which makes it easier t
5 min read
Python Arrays
In Python, array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together. Unlike Python lists (can store elements of mixed types), arrays must have all elements of same type. Having only homogeneous elements makes it memory-effici
7 min read
Python Operators
In Python programming, Operators in general are used to perform operations on values and variables. These are standard symbols used for logical and arithmetic operations. In this article, we will look into different types of Python operators. OPERATORS: These are the special symbols. Eg- + , * , /,
12 min read
Conditional Statements in Python
Understanding and mastering Python's conditional statements is fundamental for any programmer aspiring to write efficient and robust code. In this guide, we'll delve into the intricacies of conditional statements in Python, covering the basics, advanced techniques, and best practices. What are Condi
6 min read
Loops in Python - For, While and Nested Loops
Python programming language provides two types of Python loopshecking time. In this article, we will look at Python loops and understand their working with the help of examp - For loop and While loop to handle looping requirements. Loops in Python provides three ways for executing the loops. While a
11 min read
Python Functions
Python Functions is a block of statements that return the specific task. The idea is to put some commonly or repeatedly done tasks together and make a function so that instead of writing the same code again and again for different inputs, we can do the function calls to reuse code contained in it ov
10 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 Modules
Python Module is a file that contains built-in functions, classes,its and variables. There are many Python modules, each with its specific work. In this article, we will cover all about Python modules, such as How to create our own simple module, Import Python modules, From statements in Python, we
7 min read
Python Exception Handling
We have explored basic python till now from Set 1 to 4 (Set 1 | Set 2 | Set 3 | Set 4). In this article, we will discuss how to handle exceptions in Python using try, except, and finally statements with the help of proper examples. Error in Python can be of two types i.e. Syntax errors and Excepti
9 min read
Python Collections Module
The collection Module in Python provides different types of containers. A Container is an object that is used to store different objects and provide a way to access the contained objects and iterate over them. Some of the built-in containers are Tuple, List, Dictionary, etc. In this article, we will
13 min read
Python Packages
We usually organize our files in different folders and subfolders based on some criteria, so that they can be managed easily and efficiently. For example, we keep all our games in a Games folder and we can even subcategorize according to the genre of the game or something like that. The same analogy
14 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 Quiz
These Python quiz questions are designed to help you become more familiar with Python and test your knowledge across various topics. From Python basics to advanced concepts, these topic-specific quizzes offer a comprehensive way to practice and assess your understanding of Python concepts. These Pyt
3 min read