рдЙрдиреНрдирдд рдкрд╛рдпрдерди рд╡рд┐рдХрд╛рд╕ рдкрд╛рдареНрдпрдХреНрд░рдо
рдЕрдзреНрдпрд╛рдп 3
>
рд╕реНрддрд░ 6
рдЙрджреНрджреЗрд╢реНрдп
Maps, Filter рдФрд░ Reduce рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЗрд╕рдХреНрд░реАрдо рдХреЛ рдорд┐рд▓рд╛рдиреЗ рдФрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд░реЗрдВред
рдХреБрдЫ рдЖрдЗрд╕рдХреНрд░реАрдо рдлреНрд▓реЗрд╡рд░ рдХрдо рдпрд╛ рдЦрд╛рд▓реА рд╣реИрдВ рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╛рдордЧреНрд░реА рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдЖрдЗрд╕рдХреНрд░реАрдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ Map рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рдЬреЛ рдЖрдкрдХреЛ рд▓реВрдкреНрд╕ рдФрд░ рд╢рд╛рдЦрд╛рдИ рдХреЛрдб рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░рдХреЗ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред Filter рдФрд░ Reduce рдлрдВрдХреНрд╢рдиреНрд╕, Map рдлрдВрдХреНрд╢рди рдХреЗ рдкреВрд░рдХ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЗ рдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдпрд╣ рдХреЛрдб рдЬреЛрдбрд╝рдХрд░ functools рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ Reduce рдХреЛ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛: from functools import reduce . Map рдФрд░ Filter рдлрдВрдХреНрд╢рдиреНрд╕ Python рдореЗрдВ рдЗрдирдмрд┐рд▓реНрдЯ рд╣реИрдВ рдФрд░ рдЗрдиреНрд╣реЗрдВ рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╡реЙрдХ-рдЗрди рдлреНрд░реАрдЬрд╝рд░ рд╕реЗ рдХреБрдЫ рд╕рд╛рдордЧреНрд░реА рд▓реЗрдиреА рд╣реЛрдЧреА, рдЧреЛрд▓реНрдб X рдорд╛рд░реНрдХ рдХреА рдУрд░ рдЪрд▓реЗрдВ, рджрд░рд╡рд╛рдЬреЗ рдХреА рдУрд░ рдореБрдбрд╝реЗрдВ рдФрд░ open() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЦреЛрд▓реЗрдВред рдлреНрд░реАрдЬрд╝рд░ рдореЗрдВ "cream" рдХреЗ рд╕рднреА рдЬрд╛рд░ рд▓реЗрдВ рдФрд░ рдлрд┐рд░ рд╣рд░реЗ рдХрд╛рд▓реАрди рдкрд░ рд╕реНрдерд┐рдд рд▓рд╛рдЗрдЯ X рдорд╛рд░реНрдХ рдХреА рдУрд░ рдмрдврд╝реЗрдВред
рдлреАрд▓реНрдб рдореЗрдВ рддреАрди (3) рд▓рд┐рд╕реНрдЯ рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯреНрд╕ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдирд╛рдо рд╣реИрдВ: vanilla, strawberry рдФрд░ chocolateред рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯ рдореЗрдВ рдРрд╕реЗ рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрдЗрд╕рдХреНрд░реАрдо рдХреЗ рдлреНрд▓реЗрд╡рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИред рд╣рд░реЗ X рдорд╛рд░реНрдХ рдкрд░ strawberry рд▓рд┐рд╕реНрдЯ рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВред рдкрд╣рд▓реЗ place() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд▓реА рд╣реБрдИ "cream" рдХреЛ рдЬрдорд╛ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ speak() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ strawberry рд▓рд┐рд╕реНрдЯ рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдХрд░реЗрдВред
рдпрджрд┐ рдкреБрд╖реНрдЯрд┐ рд╣реЛ рдЬрд╛рдП рддреЛ рдЕрдм strawberry рд▓рд┐рд╕реНрдЯ рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯ рдХреЗ рд╕рд╛рде Map рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реВрдЪреА рдХреА рд╕рднреА рд╕рд╛рдордЧреНрд░реА рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВред map() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдПрдХ рд╕реВрдЪреА рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рд░рд╛рдЙрдВрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рд▓реВрдк рдореЗрдВ рдЗрдЯрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдкрдбрд╝рддреАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, map1 рдирд╛рдо рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдПрдБ рдФрд░ strawberry рд▓рд┐рд╕реНрдЯ рддрдерд╛ round() рдлрдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде map() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░: map1 = list(map(round, strawberry)) . рдПрдХ рдмрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рдкрд░рд┐рдгрд╛рдо рдХреА рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП speak() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж рд╣рдо Filter рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ Map рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдПрдбрд┐рдЯрд░ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЖрдкрдХреЛ main_ingredients рдирд╛рдо рдХрд╛ рдПрдХ рдкреНрд░реАрд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдорд┐рд▓реЗрдЧрд╛, рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдВрдЦреНрдпрд╛ 25 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред
def main_ingredients(value):
return value > 25
рд▓реВрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ filter() рдлрдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд░рдХреЗ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреА рдирдИ рд╕реВрдЪреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ 25 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВ, рдЬреЛ рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рд╣реИрдВред filter1 рдирд╛рдо рдХреА рдПрдХ рдирдИ рд╕реВрдЪреА рдмрдирд╛рдПрдВ рдФрд░ main_ingredients рддрдерд╛ map1 рдХреЗ рд╕рд╛рде filter() рдлрдВрдХреНрд╢рди рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░: filter1 = list(filter(main_ingredients, value)) . рдПрдХ рдмрд╛рд░ рд╣реЛрдиреЗ рдкрд░ speak() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВред
рдЕрдм рд╣рдо Reduce рдХреА рдУрд░ рдмрдврд╝рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ Filter рдХреА рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реВрдЪреА рдХреЛ рдПрдХ рдПрдХрд▓ рдЗрдХрд╛рдИ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдХрд░рдиреЗ рдпрд╛ рдШрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Filter рдХреА рддрд░рд╣, рдпрд╣ рдПрдХ рдХрд╕реНрдЯрдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░ custom_sum рдирд╛рдо рдХрд╛, рдЬреЛ рджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
def custom_sum(first, second):
return first + second
reduce1 рдирд╛рдо рдХрд╛ рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдмрдирд╛рдПрдВ рдФрд░ custom_sum рдлрд╝рдВрдХреНрд╢рди рддрдерд╛ filter1 рдХреЗ рд╕рд╛рде reduce() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рдПрдХрд▓ рдЗрдХрд╛рдИ рдореЗрдВ рд╕рдореЗрдХрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЗрд╕ рдкреНрд░рдХрд╛рд░: reduce1 = reduce(custom_sum, filter1) . рдПрдХ рдмрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рдкрд░рд┐рдгрд╛рдо рдХреА рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП speak() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЕрдм рдЬрдм рдЖрдкрдиреЗ Map, Filter, Reduce рдЪрдХреНрд░ рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рд▓рд╛рд▓ рдФрд░ рдиреАрд▓реЗ рдХрд╛рд▓реАрди рдкрд░ рд╕реНрдерд┐рдд рд▓рд╛рдЗрдЯ X рдорд╛рд░реНрдХреНрд╕ рдкрд░ рдЙрд╕реА рдЪрдХреНрд░ рдХреЛ рджреЛрд╣рд░рд╛рдПрдВред рд▓рд╛рд▓ рдХрд╛рд▓реАрди рдкрд░, vanilla рд▓рд┐рд╕реНрдЯ рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ map2, filter2 рддрдерд╛ reduce2 рдмрдирд╛рдПрдВред рдиреАрд▓реЗ рдХрд╛рд▓реАрди рдкрд░, chocolate рд▓рд┐рд╕реНрдЯ рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ map3, filter3 рддрдерд╛ reduce3 рдмрдирд╛рдПрдВред
рдЕрдВрддрд┐рдо рд▓рд╛рдЗрдЯ X рдорд╛рд░реНрдХ рдкрд░ рдЪрд▓реЗрдВ рдЬреЛ рдкрд░реНрдкрд▓ рдХрд╛рд▓реАрди рдкрд░ рд╕реНрдерд┐рдд рд╣реИ, рдФрд░ reduce1, reduce2 рддрдерд╛ reduce3 рдХреЛ рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕рд╕реЗ vanilla, strawberry рдФрд░ chocolate рдХреА рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдПрдХрддреНрд░ рд╣реЛрдВред neapolitan рдирд╛рдо рдХрд╛ рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдмрдирд╛рдПрдВ рдФрд░ рд╕рднреА Reduce рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░: neapolitan = reduce1+reduce2+reduce3 . рдЗрд╕ рд╕рдВрдпреЛрдЬрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП speak() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ Neapolitan рдЖрдЗрд╕рдХреНрд░реАрдо рдмрдирд╛рдиреЗ рдФрд░ рд╕реНрддрд░ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП place() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред