On 3/15/2012 11:50, Chris Angelico wrote:
On Thu, Mar 15, 2012 at 9:44 PM, Kiuhnm
<kiuhnm03.4t.yahoo...@mail.python.org> wrote:
Let's try that.
Show me an example of "list comprehensions" and "with" (whatever they are).
I'll do a list comp, because they lend themselves well to one-liners.
what_am_i = '\n'.join(["%X\t%c"%(i,i) for i in range(128)])
A few conjectures:
1) '\n' is an object and join one of its methods;
2) [...] is a list comprehension;
3) that 'for' suggests that range isn't (or doesn't return) a list but
an iterator;
4) points 2 and 3 suggest that [...] builds a list (or array?) by
querying an iterator.
5) "%X\t%"(i,i) is probably equivalent to the C-like Perl's
sprintf("%X\t%c", i, i)
So what_am_i is a simple ASCII table.
Okay, that one also uses printf formatting, which may be a smidge
obscure. Here's a simpler example:
what_am_i = [x*x for x in range(11)]
what_am_i = 0, 1, 4, 9, ..., 100
Your first example suggests that range(n) is a sequence iterator which
returns, if queried n times,
0,...,n-1
(which is a bit counterintuitive, IMHO).
Kiuhnm
--
http://mail.python.org/mailman/listinfo/python-list