| An Introduction to Python by Guido van Rossum and Fred L. Drake, Jr. Paperback (6"x9"), 124 pages ISBN 0954161769 RRP £12.95 ($19.95) Sales of this book support the Python Software Foundation! Get a printed copy>>> |
5.6 Looping Techniques
When looping through dictionaries, the key and corresponding value can
be retrieved at the same time using the iteritems() method.
>>> knights = {'gallahad': 'pure', 'robin': 'brave'}
>>> for k, v in knights.iteritems():
... print k, 'the', v
...
gallahad the pure
robin the brave
When looping through a sequence, the position index and corresponding
value can be retrieved at the same time using the
enumerate() function.
>>> for i, v in enumerate(['tic', 'tac', 'toe']):
... print i, v
...
0 tic
1 tac
2 toe
To loop over two or more sequences at the same time, the entries
can be paired with the zip() function.
>>> questions = ['name', 'quest', 'favorite color']
>>> answers = ['lancelot', 'the holy grail', 'blue']
>>> for q, a in zip(questions, answers):
... print 'What is your %s? It is %s.' % (q, a)
...
What is your name? It is lancelot.
What is your quest? It is the holy grail.
What is your favorite color? It is blue.
To loop over a sequence in reverse, first specify the sequence
in a forward direction and then call the reversed()
function.
>>> for i in reversed(xrange(1,10,2)):
... print i
...
9
7
5
3
1
To loop over a sequence in sorted order, use the sorted()
function which returns a new sorted list while leaving the source
unaltered.
>>> basket = ['apple', 'orange', 'apple', 'pear',
'orange', 'banana']
>>> for f in sorted(set(basket)):
... print f
...
apple
banana
orange
pear
| ISBN 0954161769 | An Introduction to Python | See the print edition |