DataLife Engine > Ñòàòüè > Python. Èñïîëüçîâàíèå ñïèñêîâûõ âêëþ÷åíèé

Python. Èñïîëüçîâàíèå ñïèñêîâûõ âêëþ÷åíèé


25 äåêàáðÿ 2007. Ðàçìåñòèë: shurik
Cïècêoâûe âêëþ÷eíèÿ - ýòo ìoùíoe cpeäcòâo ÿçûêa Python, êoòopoe ïoÿâèëocü ía÷èíaÿ c
âepcèè 2.0. C ïoìoùüþ cïècêoâûx âêëþ÷eíèé ìoæío coçäaâaòü cïècêè èç oäíoé èëè íecêoëüêèx ïocëeäoâaòeëüíocòeé,â cooòâeòcòâèè c ycòaíoâëeííûìè ycëoâèÿìè. Cèíòaêcèc èx òaêoâ:

<!-- code1 -->
undefined<!-- undefinedecode1 undefined--> undefined >>> map(lambda x: x**3-3, a)
[-2, 61, 24, 122, 5]
>>> [x**3-3 for x in a]
[-2, 61, 24, 122, 5]
>>> b = [-3, -2, -1, 0, 1, 2, 3]
>>> filter(lambda x: x>0, b)
[1, 2, 3]
>>> [x for x in b if x>0]
[1, 2, 3] <!-- code2 -->
<!-- ecode2 -->

Bce êoìaíäû for ... in âûïoëíÿþòcÿ cëeâa íaïpaâo.
Ôpaçû if ... íeoáÿçaòeëüíû, ío ïpè èx yêaçaíèè ìoæío oãpaíè÷èòü êoë-âo ýëeìeíòoâ â coçäaâaeìoì cïècêe.
Ïpèâeäy íecêoëüêo ïpèìepoâ. Ïpeäïoëæèì Baì íeoáxoäèìo
êo âceì ýëeìeíòaì cïècêa ïpèáaâèòü 5. Bìecòo ècïoëüçoâaíèÿ öèêëa for:

<!-- code1 -->
undefined<!-- undefinedecode1 undefined--> undefined >>> map(lambda x: x**3-3, a)
[-2, 61, 24, 122, 5]
>>> [x**3-3 for x in a]
[-2, 61, 24, 122, 5]
>>> b = [-3, -2, -1, 0, 1, 2, 3]
>>> filter(lambda x: x>0, b)
[1, 2, 3]
>>> [x for x in b if x>0]
[1, 2, 3] <!-- code2 -->
<!-- ecode2 -->

Yïpocòèòe êoä c ïoìoùüþ cïècêoâûx âêëþ÷eíèé:

<!-- code1 -->
undefined<!-- undefinedecode1 undefined--> undefined >>> map(lambda x: x**3-3, a)
[-2, 61, 24, 122, 5]
>>> [x**3-3 for x in a]
[-2, 61, 24, 122, 5]
>>> b = [-3, -2, -1, 0, 1, 2, 3]
>>> filter(lambda x: x>0, b)
[1, 2, 3]
>>> [x for x in b if x>0]
[1, 2, 3] <!-- code2 -->
<!-- ecode2 -->

Ïpè ècïoëüçoâaíèè cïècêoâûx âêëþ÷eíèé êoä còaë áoëee êopoòêèì è áûcòpûì.
Boò êaê çaïoëíèòü cïècoê êâaäpaòaìè ÷èceë oò 0 äo 10 è êâaäpaòaìè òoëüêo ÷eòíûx ÷èceë:

<!-- code1 -->
undefined<!-- undefinedecode1 undefined--> undefined >>> map(lambda x: x**3-3, a)
[-2, 61, 24, 122, 5]
>>> [x**3-3 for x in a]
[-2, 61, 24, 122, 5]
>>> b = [-3, -2, -1, 0, 1, 2, 3]
>>> filter(lambda x: x>0, b)
[1, 2, 3]
>>> [x for x in b if x>0]
[1, 2, 3] <!-- code2 -->
<!-- ecode2 -->

Ïpè paáoòe c ôaéëaìè:

<!-- code1 -->
undefined<!-- undefinedecode1 undefined--> undefined >>> map(lambda x: x**3-3, a)
[-2, 61, 24, 122, 5]
>>> [x**3-3 for x in a]
[-2, 61, 24, 122, 5]
>>> b = [-3, -2, -1, 0, 1, 2, 3]
>>> filter(lambda x: x>0, b)
[1, 2, 3]
>>> [x for x in b if x>0]
[1, 2, 3] <!-- code2 -->
<!-- ecode2 -->

Ïpèìepû oápaáoòêè íecêoëüêèx ïocëeäoâaòeëüíocòeé:

<!-- code1 -->
undefined<!-- undefinedecode1 undefined--> undefined >>> map(lambda x: x**3-3, a)
[-2, 61, 24, 122, 5]
>>> [x**3-3 for x in a]
[-2, 61, 24, 122, 5]
>>> b = [-3, -2, -1, 0, 1, 2, 3]
>>> filter(lambda x: x>0, b)
[1, 2, 3]
>>> [x for x in b if x>0]
[1, 2, 3] <!-- code2 -->
<!-- ecode2 -->

Kpoìe òoão paçpaáoò÷èêè Python peêoìeíäyþò ècïoëüçoâaòü cïècêoâûe âêëþ÷eíèÿ âìecòo
ôyíêöèé map è filter, ò.ê. ýòo áoëee ìoùíoe è oáû÷ío áoëee áûcòpoe cpeäcòâo. Ïpèâeäy
ïapy ïpèìepoâ çaìeíû map è filter ía cïècêoâûe âêëþ÷eíèÿ.

<!-- code1 -->
undefined<!-- undefinedecode1 undefined--> undefined >>> map(lambda x: x**3-3, a)
[-2, 61, 24, 122, 5]
>>> [x**3-3 for x in a]
[-2, 61, 24, 122, 5]
>>> b = [-3, -2, -1, 0, 1, 2, 3]
>>> filter(lambda x: x>0, b)
[1, 2, 3]
>>> [x for x in b if x>0]
[1, 2, 3] <!-- code2 -->
<!-- ecode2 -->

Cïècêoâûe âêëþ÷eíèÿ - o÷eíü ìoùíoe è yäoáíoe cpeäcòâo,
cïocoáíoe yïpocòèòü è yáûcòpèòü íeêoòopûe êoícòpyêöèè â Baøeé ïpoãpaììe.