map函数:
map(func, *iterables) 用函数对可迭代对象中的每一个元素作为参数计算出新的可迭代对象,当最短的一个可迭代对象完成迭代后迭代器生成结束
1).map函数 练习:
# 1. 求1**2 + 2**2 + 3**2 + .... + 9**2的和
# 原始做法
s = 0
for x in range(1, 10):
s += x ** 2
print("原始的值为:", s)
# 用map函数
def pow2(x):
return x ** 2
print("用map得到的值是:",
sum(map(pow2, range(1, 10))))
2). 求1**3 + 2**3 + 3**3 + .... + 9**3的和
print("2题的值为:",
sum(map(lambda x: x**3, range(1, 10)))
)
3). 求:1**9 + 2**8 + 3**7 + ... + 9**1的和(11377)
print("3题值为:",
sum(map(lambda x, y: x ** y,
range(1, 10), range(9, 0, -1))))
print("3题值为:",
sum(map(pow, range(1, 10), range(9, 0, -1))))
map(func, *iterables) 用函数对可迭代对象中的每一个元素作为参数计算出新的可迭代对象,当最短的一个可迭代对象完成迭代后迭代器生成结束
1).map函数 练习:
# 1. 求1**2 + 2**2 + 3**2 + .... + 9**2的和
# 原始做法
s = 0
for x in range(1, 10):
s += x ** 2
print("原始的值为:", s)
# 用map函数
def pow2(x):
return x ** 2
print("用map得到的值是:",
sum(map(pow2, range(1, 10))))
2). 求1**3 + 2**3 + 3**3 + .... + 9**3的和
print("2题的值为:",
sum(map(lambda x: x**3, range(1, 10)))
)
3). 求:1**9 + 2**8 + 3**7 + ... + 9**1的和(11377)
print("3题值为:",
sum(map(lambda x, y: x ** y,
range(1, 10), range(9, 0, -1))))
print("3题值为:",
sum(map(pow, range(1, 10), range(9, 0, -1))))