[python] dokumentace k novejsim rysum jazyka
Jirka Vejrazka
jirka.vejrazka na gmail.com
Pátek Březen 5 00:37:25 CET 2010
Ahoj,
> když si tak občas čtu různé vzorové příklady, tak mám problém rozumět
> některým novým rysům. Je tu někdo, kdo by mně řekl co znamená třeba
>
> [i*i for i in range(10)]
to je takzvany "list comprehension" (1), tj. definice listu "zevnitr".
Vysledkem je list, ve kterem jsou druhe mocniny cisel 1 az 10.
Je to zkraceny zapis tohoto:
x = [] # nebo x = list()
for i in range(10):
x.append(i*i)
> a=(i*i for i in range(10))
To je totez jako predtim, jenom vysledkem neni list, ale tuple (cili
list, ktery se po vytvoreni neda zmenit).
Da se to jeste doplnit o podminku, ktera se zapisuje az na konci, treba:
>>> delitelne_tremi = [x for x in range(20) if x % 3 == 0]
>>> delitelne_tremi
[0, 3, 6, 9, 12, 15, 18]
Jirka
(1) http://docs.python.org/tutorial/datastructures.html#list-comprehensions
Další informace o konferenci Python