"Andre Engels" <andreeng...@gmail.com> wrote

What is this: d = [ int(x) for x in s.split(":") ]

That's called list comprehension. The notation
[f(x) for x in A if p(x)]
means:
Form a list in the following way:

For Wayne's benefit...
You will also find a similar construction in parens called a generator expression (like tuoles the parens aren't always necessary but usually help). That produces an iterable that you can loop over without actually creating a list per se.

ie you can write:

foo = [1,2,3,4]
for n in (x for x in foo if x % 2):
...           print n
... 1
3

In Python v3 list comprehensions and generator expressions have been "merged" in that putting a GE inside [] has the same effect as a LC. In practice this makes little or no difference to the programmer its just how Python handles it behind the scenes.

HTH,

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/l2p/



_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to