python---内置高阶函数

map:======> [abs(i) for i in [-1, 3, -4, -5]]

1). 对于序列每个元素求绝对值;
import random

from functools import reduce

print(list(map(abs, [-1, 3, -4, -5])))

2). 对于序列每个元素求阶乘; 5!
def factoria(x):
“”“对于x求阶乘”“”
res = 1
for i in range(1, x + 1):
res = res * i
return res

li = [random.randint(2, 7) for i in range(10)]
print(list(map(factoria, li)))

reduce:
- PYTHON2中, 为内置函数;
- PYTHON3中, 导入reduce, from functools import reduce

10!的阶乘
def multi(x, y):
return x * y

[1,2,3] ====> multi(multi(1,2), 3)
print(reduce(multi, range(1, 4)))

filter函数 ====== [i for i in range(1,11) if isodd(i)]
def idodd(x):
return x % 2 == 0
# if x%2 == 0:
# return True
# else:
# return False
print(list(filter(idodd, range(1,11))))

拿出1~100之间所有的素数
def isPrime(num):
for i in range(2, num):
if num % i == 0:
return False
else:
return True

扫描二维码关注公众号,回复: 2853828 查看本文章

print(list(filter(isPrime, range(2,101))))

要求用户输入3个数字 ; 依次将接收的三个数转换为整形, 并赋值给a,b,c

猜你喜欢

转载自blog.csdn.net/suifengOc/article/details/81808270