Instead of using mydict, you should be using mydict.items() with enumerate as:
for i, (k, v) in enumerate(mydict.items()):
# your stuff
Sample example:
mydict = {1: 'a', 2: 'b'}
for i, (k, v) in enumerate(mydict.items()):
print("index: {}, key: {}, value: {}".format(i, k, v))
# which will print:
# -----------------
# index: 0, key: 1, value: a
# index: 1, key: 2, value: b
Explanation:
enumerate()returns an iterator object which contains tuples in the format:[(index, list_element), ...]dict.items()returns an iterator object (in Python 3.x. It returnslistin Python 2.7) in the format:[(key, value), ...]- On combining together,
enumerate(dict.items())will return an iterator object containing tuples in the format:[(index, (key, value)), ...]