ÀÖÓãµç¾º

½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

pythonµÄreduceº¯ÊýÓ÷¨½éÉÜ[pythonÅàѵ]

¸üÐÂʱ¼ä:2019Äê10ÔÂ31ÈÕ16ʱ02·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:

reduceº¯Êý»á¶Ô²ÎÊýµü´úÆ÷ÖеÄÔªËØ½øÐÐÀÛ»ý¡£

reduceº¯ÊýµÄ¶¨ÒåÈçÏ£º

functools.reduce(function, iterable[, initializer])


ÔÚÉÏÊö¶¨ÒåÖУ¬functionÊÇÒ»¸ö´øÓÐÁ½¸ö²ÎÊýµÄº¯Êý£»µÚ2¸ö²ÎÊýiterableÊÇÒ»¸öµü´úÆ÷¶ÔÏó£»initializer±íʾ¹Ì¶¨µÄ³õʼֵ¡£reduceº¯Êý»áÒÀ´Î´Óµü´úÆ÷¶ÔÏóÖÐÈ¡³öÿ¸öÔªËØ£¬ºÍÉÏÒ»´Îµ÷ÓÃfunctionµÄ½á¹û×öΪ²ÎÊýÔٴε÷ÓÃfunctionº¯Êý¡£ÔÚPython3ÖУ¬reduceº¯Êý±»·ÅÖÃÔÚfunctorsÄ£¿éÖУ¬Ê¹ÓÃʱÐèÒªÏÈÒýÈ룬ʾÀý´úÂëÈçÏ£º
 


from functools import reduce
func = lambda x, y: x + y
result = reduce(func, [1, 2, 3, 4, 5])
print(result)

 
ÔÚÉÏÊöʾÀýÖУ¬Ê×ÏÈÒýÈëÁËfucntoolsÄ£¿é£¬È»ºó¶¨ÒåÁËÒ»¸ö¼ÆËãÁ½¸öÊýµÄºÍµÄÄäÃûº¯Êý¡£
ÓÉÓÚÔÚµ÷Óà reduceº¯Êýʱ´«ÈëÁËfuncºÍÐòÁУ¬ËùÒÔ³ÌÐò»á°ÑÐòÁеÄÿ¸öÔªËØÈ¡³öÀ´£¬ºÍÉϴε÷ÓúóµÄ½á¹û×÷Ϊ²ÎÊýÔٴε÷ÓÃfuncº¯Êý£¬×îºó½«½á¹û·µ»Ø¸ø result¡£¡¾ÍƼöÁ˽⣺ÀÖÓã²¥¿Í python+È˹¤ÖÇÄܿγ̡¿
³ÌÐòµÄÔËÐнá¹ûÈçÏÂËùʾ£º


15

Èç¹ûÔÚµ÷ÓÃreduceº¯Êýʱ´«ÈëÁËinitializer²ÎÊý£¬ÄÇôfunctionº¯Êý»áÒÔµü´úÆ÷ÖеĵÚÒ»¸öÔªËØÓëinitializerµÄºÍ×÷Ϊ²ÎÊý½øÐе÷Óá£Ê¾Àý´úÂëÈçÏ£º¡¾²å²¥¸£Àû£º2019ÀÖÓã²¥¿ÍpythonÊÓÆµ½Ì³ÌÈ«¼¯ÏÂÔØ¡¿
 


from functools import reduce
result = reduce (lambda x, y: x + y, [1, 2, 3, 4], 5)
print(result)
# ½á¹ûΪ
15

´ËÍ⣬iterable²ÎÊý»¹¿ÉÒÔ´«Èë×Ö·û´®ÀàÐÍ£¬Ê¾Àý´úÂëÈçÏ£º


from functools import reduce
result = reduce(lambda x, y: x + y, ['aa', 'bb', 'cc'], 'dd')
print(result)
# ½á¹ûΪ
'aabbccdd'


±¾ÎÄÀ´×Ô£ºÀÖÓã²¥¿Í python+È˹¤ÖÇÄÜѧԺ  python.itcast.cn


²ÂÄãϲ»¶£ºpython filterº¯ÊýÓ÷¨
0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡


¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿