On 12/23/2012 02:48 AM, Mario Cacciatore wrote:
Hey everyone,
>
> I am having a very hard time understanding the list comprehension
syntax. I've followed the docs and could use some guidance from the fine
folks here to supplement my findings. If someone wouldn't mind replying
back with an example or two, with some explanation of each part I'd
appreciate it.
Hi Mario, here are some examples (using python3 but very similar in py2.7):
L = range(20)
>>> [x for x in L]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
[x for x in L if x<=10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[(x,x) for x in L]
[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8),
(9, 9), (10, 10), (11, 11), (12, 12), (13, 13), (14, 14), (15, 15), (16,
16), (17, 17), (18, 18), (19, 19)]
[x*2 for x in L]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38]
[(x, x*3) for x in L if x<=10]
[(0, 0), (1, 3), (2, 6), (3, 9), (4, 12), (5, 15), (6, 18), (7, 21), (8,
24), (9, 27), (10, 30)]
def strmul(x): return str(x), x*2
...
[strmul(x) for x in L if x<=10]
[('0', 0), ('1', 2), ('2', 4), ('3', 6), ('4', 8), ('5', 10), ('6', 12),
('7', 14), ('8', 16), ('9', 18), ('10', 20)]
Hope this helps!
--
Lark's Tongue Guide to Python: http://lightbird.net/larks/
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor