[py][lc]python高阶函数(匿名/map/reduce/sorted)

匿名函数

f = lambda x: x * x
f(2) # x =2
#4

- 传入列表
f = lambda x: x[2]
print(f([1, 2, 3])) # x = [1,2,3]

map使用

传入函数体

def f(x):
    return x*x

r = map(f, [1, 2, 3, 4]) #函数作用在可迭代对象的每一项
#[1, 4, 9, 16]

- 另一个例子
list(map([1, 2, 3, 4, 5, 6, 7, 8, 9], lambda x: x * x))

reduce用法

from functools import reduce
def add(x, y):
    return x*10 + y

print(reduce(add, [1, 2, 3, 4])) #函数作用在可迭代对象的每一项聚合
# 1234

sorted探究

参考:
高阶函数map/reduce

sorted,官方文档写的挺好,可以学到不少东西

sorted(iterable, key=None, rev

原文地址:https://www.cnblogs.com/iiiiiher/p/8430914.html

时间: 2024-10-11 04:55:36

[py][lc]python高阶函数(匿名/map/reduce/sorted)的相关文章

Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊

函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. 而函数式编程(请注意多了一个"式"字)--Functional Programming,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算. 我们首先要搞明白计算机(Computer)和计算(Compute)的概念. 在计算机的层次上,CPU执行的是加减乘除的指令代码

python高阶函数,map,filter,reduce,ord,以及lambda表达式

为什么我突然扯出这么几个函数,是因为我今天在看流畅的python这本书的时候,里面有一部分内容看的有点懵逼. >>> symbols = '$¢£¥€¤' >>> beyond_ascii = [ord(s) for s in symbols if ord(s) > 127] >>> beyond_ascii [162, 163, 165, 8364, 164] >>> beyond_ascii = list(filter(la

python 函数式编程:高阶函数,map/reduce

1 #函数式编程 2 #函数式编程一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数 3 #(一)高阶函数 4 5 f=abs 6 f 7 print(f(-20)) 8 #结果 20 9 #函数可以赋值给一个变量,即:变量可以指向函数 10 #那么函数名是什么?函数名其实就是指向函数的变量! 11 12 #下面的代码,执行后,abs已经不指向求绝对值函数而是一个整数10了. 13 #后面的abs(-10)将报错,无法执行,必须重启python才可以. 14 #abs=10

高阶函数:map()/reduce()

Python内建了map()和reduce()函数. 如果你读过Google的那篇大名鼎鼎的论文"MapReduce: Simplified Data Processing on Large Clusters",你就能大概明白map/reduce的概念. 我们先看map.map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. 举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个li

python 高阶函数三 filter()和sorted()

一.filter()函数 filter()接收一个函数和一个序列.filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素. 1 >>> from collections import Iterator 2 >>> def is_odd(n): 3 ... return n % 2 == 1 4 ... 5 >>> it = filter(is_odd, [1, 2, 3, 4, 5, 6]) 6 &

python 高阶函数:map、reduce

格式: map(函数, list) reduce(函数,list) 区别: 1.map分别作用于list的每个元素,返回新的列表 2.reduce将list的每个元素整合,返回一个新的值 优势: 1.map.reduce自带for循环,减少了代码量 一.map 的使用 #!/usr/bin/python def f(x):    return x*x lis = [1, 2, 3, 4, 5]map_list =map(f, lis)  #将lis的元素分别在f()函数中做运算print lis

Python 内置函数&filter()&map()&reduce()&sorted()

常用内置函数 Python 2.x 返回列表,Python 3.x 返回迭代器 在进行筛选或映射时,输出的结果是一个数组,需要list帮助. 如:print(list(map(lambda x:x+1, [1,2,3]))) 一.filter() --过滤.筛选 刚接触filter时 ,运行总是出现<filter object at 0x000001B68F052828> 得不到想要的数据,后来发现是因为filter的结果是一个数组, 需要 list 帮助,后来将print(f) 改为 pri

python 高阶函数详解。

1,概念: Iterable 和 IteratorIterable 表示该变量可以被 for in 进行迭代.Iterator 表示该变量可以被 next(o)进行迭代(上一个表示有限迭代,下一个表示一个惰性的迭代概念,可以无限迭代.)一般的Iterable 的变量有:L=[{},[],(1,),{3:4},{3,4}]for x in L:print(isinstance(x,Iterable))print(isinstance(x,Iterator)) truefalse 可见,基础变量Li

Swift高阶函数:Map,Filter,Reduce

闭包介绍 Swift一大特性便是使用简洁的头等函数/闭包语法代替了复杂的blocks语法.希望我们在Swift中不再需要像fuckingblocksyntax中所描述的语法.(译者注:头等函数-即可将函数当作参数传递给其他的函数,或从其他的函数里返回出值,并且可以将他们设定为变量,或者将他们存储在数据结构中) 闭包是自包含的blocks,它能在代码中传递和使用. 本文我们将重点介绍匿名定义的闭包(如:定义成内联的且不具名)也称匿名闭包.我们能够将其作为参数传递给其他函数/方法或者将其作为返回值.