Rumah > pembangunan bahagian belakang > Tutorial Python > python中map函数和reduce函数的使用方法介绍(附代码)

python中map函数和reduce函数的使用方法介绍(附代码)

不言
Lepaskan: 2018-09-28 15:02:40
ke hadapan
3721 orang telah melayarinya

本篇文章给大家带来的内容是关于python中map函数和reduce函数的使用方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

map()函数

Python中的map()函数接收两个参数,一个是调用函数对象(python中处处皆对象,函数未实例前也可以当对象一样调用),另一个是调用函数所需要的参数,返回值是迭代计算出的结果所组成的列表。

1

2

3

4

5

def func(x):

    return x*x

r=map(func,[1,2,3,4,5,6,7,8,9])

l=list(r)

print(l)

Salin selepas log masuk

显示结果:

1

[1, 4, 9, 16, 25, 36, 49, 64, 81]

Salin selepas log masuk

reduce() 函数

reduce函数同样需要两个参数,一个是调用函数对象,另一个数调用函数所需要的参数,其返回值是将计算结果继续和下一个元素做累积。

1

2

3

4

5

6

from functools import reduce

def add(x,y):

    print('x is:',x,'y is:',y)

    return x+y

ret=reduce(add,[1,3,5,7,9])

print(ret)

Salin selepas log masuk

显示结果:

1

2

3

4

5

x is: 1 y is: 3

x is: 4 y is: 5

x is: 9 y is: 7

x is: 16 y is: 9

25

Salin selepas log masuk

或许可能会问,python的内置函数sum()就可以得到想要的结果,为什么要有reduce呢。看如下案例,我们想要将[1,3,5,7,9]返回成13579

1

2

3

4

5

6

from functools import reduce

def add(x,y):

    print('x is:',x,'y is:',y)

    return x*10+y

ret=reduce(add,[1,3,5,7,9])

print(ret)

Salin selepas log masuk

显示结果:

1

2

3

4

5

x is: 1 y is: 3

x is: 13 y is: 5

x is: 135 y is: 7

x is: 1357 y is: 9

13579

Salin selepas log masuk

Atas ialah kandungan terperinci python中map函数和reduce函数的使用方法介绍(附代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan