Loops in Python
Loops are used to execute a block of code repeatedly. Python offers two primary loop constructs: for
and while
.
For Loop
The for
loop iterates over a sequence (like a list, tuple, or string).
Python
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
While Loop
The while
loop executes a block of code as long as a specified condition is true.
Python
count = 0
while count < 5:
print(count)
count += 1
Key points:
- Indentation: Crucial for defining the loop body.
- Iterables: Objects that can be iterated over, like lists, tuples, strings, and dictionaries.
- Loop control statements:
break
to exit the loop,continue
to skip the current iteration. - Infinite loops: Be cautious with
while
loops to avoid infinite loops.
Example with else
clause
Python uniquely supports an else
clause with loops. It executes if the loop completes normally (without encountering a break
statement).
Python
for num in range(2, 10):
for i in range(2, num):
if (num % i) == 0:
print(num, "is not a prime number")
break
else:
print(num, "is a prime number")
What are the two main types of loops in Python?
for
and while
loops.
What is an iterable?
An iterable is an object that can be iterated over, such as lists, tuples, strings, and dictionaries.
Can I use a for
loop with a range object?
Yes, the range()
function generates a sequence of numbers.
How does a while loop work?
A while loop continues to execute as long as a given condition is true.
What is an infinite loop?
An infinite loop occurs when the loop condition never becomes false.
What is the break
statement?
The break
statement terminates the loop immediately.
What is the continue
statement?
The continue
statement skips the current iteration and moves to the next.
Can I nest loops?
Yes, you can nest loops to create complex iterations.
Are there performance implications for loops?
Looping can be computationally expensive, especially for large datasets. Consider list comprehensions or generator expressions for efficiency.