Using range(), enumerate() and zip() for Flexible Loops in Python
This article explains how Python's range(), enumerate() and zip() functions can be combined to create more flexible loops, allowing iteration by index, simultaneous access to indices and elements, and parallel traversal of multiple sequences.
After covering basic loop syntax, this section introduces more flexible looping techniques in Python using range() , enumerate() , and zip() .
range() : By supplying start, stop, and step arguments, range() can generate index values for loop control, similar to C-style for loops. Example:
S = 'abcdefghijk'
for i in range(0, len(S), 2):
print(S[i])The loop prints every second character of the string by using the index i returned by range() .
enumerate() : This built‑in returns a tuple containing the current index and the element, enabling simultaneous access to both during iteration. Example:
S = 'abcdefghijk'
for index, char in enumerate(S):
print(index)
print(char)Each iteration yields the index index and the corresponding character char .
zip() : When you have several sequences of equal length and want to iterate over them in parallel, zip() aggregates elements from each sequence into tuples. Example:
ta = [1, 2, 3]
tb = [9, 8, 7]
tc = ['a', 'b', 'c']
for a, b, c in zip(ta, tb, tc):
print(a, b, c)The loop prints (1, 9, 'a') , (2, 8, 'b') , and (3, 7, 'c') , showing how elements from each list are combined.
You can also decompose a zipped object back into separate sequences:
ta = [1, 2, 3]
tb = [9, 8, 7]
# cluster
zipped = zip(ta, tb)
print(zipped)
# decompose
na, nb = zip(*zipped)
print(na, nb)In summary, range() controls numeric iteration, enumerate() provides index‑element pairs, and zip() enables parallel traversal and aggregation of multiple sequences.
Practical DevOps Architecture
Hands‑on DevOps operations using Docker, K8s, Jenkins, and Ansible—empowering ops professionals to grow together through sharing, discussion, knowledge consolidation, and continuous improvement.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.