Python 3.6中reduce函数和cmp函数

1,Python 3中取消了cmp函数,使用cmp功能的话需按如下所示(方法一种):

import operator

#help(operator)
...
__ge__ = ge(...)
        ge(a, b) -- Same as a>=b.

 __eq__ = eq(...)
        eq(a, b) -- Same as a==b.

 __gt__ = gt(...)
        gt(a, b) -- Same as a>b.

__le__ = le(...)
        le(a, b) -- Same as a<=b.

 __lt__ = lt(...)
        lt(a, b) -- Same as a<b.

 __ne__ = ne(...)
        ne(a, b) -- Same as a!=b.

 eq(...)
        eq(a, b) -- Same as a==b.

 ge(...)
        ge(a, b) -- Same as a>=b.

 gt(...)
        gt(a, b) -- Same as a>b.

 le(...)
        le(a, b) -- Same as a<=b.

lt(...)
        lt(a, b) -- Same as a<b.

 ne(...)
        ne(a, b) -- Same as a!=b.
...

#所有函数返回结果为布尔值

2,Python3 中不可以直接调用reduce,使用方法如下:

from functools import reduce

print(reduce(lambda x, y: x + y, [1,2,3,4,5]))

3,补充常用函数:

    1.map()函数,会让列表中每一个元素都执行一某个函数(传递1个参数),并且将执行函数返回的结果(无论是什么样的结果)放在结果列表中
    2.filter()函数,会让列表中的每一个元素都执行一次某个函数(传递1个参数),并且将执行函数返回为真或不为None的结果放在结果列表中
    3.reduce()函数,会将列表中的每两个元素执行一次函数(传递2个参数),并且可以将前两个元素计算的结果拿过来,继续和列表中的第三个元素计算,计算完成后继续和第四个计算.....,最后返回的就是计算后的结果

posted @ 2018-12-04 16:23  leo_队长  阅读(810)  评论(0编辑  收藏  举报