[exec cmd for cmd in cmds]
Diez B. Roggisch
deets at nospam.web.de
Wed Mar 8 06:35:44 EST 2006
Schüle Daniel wrote:
> Hello all,
>
> >>> p = "z%i = complex(1-1e-%i, 1-1e-%i)"
> >>> lst = [p % (i,i,i) for i in range(10, 30)]
> >>> for item in lst:
> ... exec item
> ...
> >>>
> >>> p = "z%i = complex(1-1e-%i, 1-1e-%i)"
> >>> lst = [p % (i,i,i) for i in range(10, 30)]
> >>> [exec item for item in lst]
> File "<stdin>", line 1
> [exec item for item in lst]
> ^
> SyntaxError: invalid syntax
> >>>
>
> is this prohibited for some reasons or is this just happens to be
> disallowed?
exec is a statement. And statements aren' allowed in the _expression_ of a
list-comprehension.
> this is one more cool way
> >>> p = "z%i = complex(1-1e-%i, 1-1e-%i);"
> >>> c = reduce(lambda x,y: x+y, [p % (i,i,i) for i in range(20,30)])
> >>> exec c
>
> and one more :)
> >>> p = "z%i = complex(1-1e-%i, 1-1e-%i);"
> >>> c = "".join([ p % (i,i,i) for i in range(20,30) ])
> >>> exec c
If you think so :) Ususally people go for dictionaries in such cases.
Diez
More information about the Python-list
mailing list