have a look at the following piece of code, which shows a list comprehension..
>>> i = 6
>>> s = [i * i for i in range(100)]
>>> p
Mark Byers answered it perfectly.
just as a side note..
in Python 2.x, if you change your brackets to parens (creating a generator expression instead of a list comprehension), you will notice that the control variable is not leaked.
>>> i = 6
>>> s = (i for i in range(100))
>>> print i
6
vs.
>>> i = 6
>>> s = [i for i in range(100)]
>>> print i
99
(of course, in Python 3, this is fixed and list comprehensions no longer leak control variables)