print [n*n for n in range(1,6)]
[1, 4, 9, 16, 25]
But suppose we want to create a dictionary, rather than just a list, mapping each integer to its square. We can use a dictionary comprehension. It differs from a list comprehension in using curly braces instead of square brackets, and in specifying two expressions separated by a colon to the left of the
for.
print {n: n*n for n in range(1,6)}
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
This is equivalent to:
d = {} for n in range(1,6): d[n] = n*n print d
Dictionary comprehensions are a great of example of how we can do a lot in Python with a single, very readable, line of code.
No comments:
Post a Comment