第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

python函數(shù)式編程的一些簡(jiǎn)單的了解。。。

標(biāo)簽:
Python

三、函数式编程里的高阶函数

  1. 高阶函数可以以函数作为参数。
  2. 常见内置高阶函数:
    1. map(),它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。这类似于数学中函数的映射关系,map()函数不改变原有的 list,而是返回一个新的 list。list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list。
      比如:def f(x): return x*x print map(f, [,5, 6, 7, 8, 9])
    2. reduce()函数。reduce()函数接收的参数一个函数 f,一个list,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。如:reduce(f, [list.num1,list.num2])
      reduce()还可以接收第3个可选参数,作为计算的初始值。
    3. filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。如:def is_odd(x): return x % 2 == 1 filter(is_odd, [1, 4, 6, 7, 9, 12, 17])
      返回结果:
      图片描述
      4.sorted()函数可对list进行排序,可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该在 y 前面,返回 -1,如果 x 应该在 y 后面,返回 1。 x 和 y 相等,返回 0。因此我们可以实现倒序排序:
      def reversed_cmp(x, y):
      if x > y:
      return -1
      if x < y:
      return 1
      return 0
      print sorted([36, 5, 12, 9, 21], reversed_cmp)

      也可以实现字符穿的排序

  3. 返回一个函数:
def calc_prod(lst):
    def mulx():
        mul=1.0
        for x in lst:
            mul*=x
        return mul
    return mulx

f = calc_prod([1, 2, 3, 4])
print f()

这里面函数 fcalc_prod内部又定义了一个函数 mulx。由于函数mulx也是一个对象,函数名 mulx就是指向函数 mulx的变量,所以,最外层函数 calc_prod 可以返回变量 mulx,也就是函数 mulx本身。f得到一个返回函数。

  1. 匿名函数:关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数,只能有一个表达式,不写return。即: lambda x: x * x 。
    举个例子:
print filter(lambda s:s and len(s.strip()) > 0,
 ['test', None, '', 'str', '  ', 'END'])
點(diǎn)擊查看更多內(nèi)容
4人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消