Python has multiple techniques for looping over data structures.
Dictionary looping with both key and value can be done using the items()
method:
my_dict = {'first': 'a', 'second': 'b'}
for k, v in my_dict.items():
print(k, v)
# first a
# second b
The enumerate()
function allows looping with both index
and value
through any sequence:
my_list = ['a', 'b']
for i, v in enumerate(my_list):
print(i, v)
# 0 a
# 1 b
zip()
function can be used to pair two or more sequences in order to loop over both of them in parallel:
first_list = ['a', 'b']
second_list = ['one', 'two']
for f, s in zip(first_list, second_list):
print(f, s)
# a one
# b two
To loop in a sorted order, use the sorted()
function:
my_list = ['b', 'c', 'a']
for f in sorted(my_list):
print(f)
# a
# b
# c
To loop in reverse, pass the sorted list to the reversed()
function:
for f in reversed(sorted(set(my_list))):
print(f)
# c
# b
# a