Python:映射 VS For 循环
Python中的地图:
- Map 用于“在一行代码中”计算不同值的函数。
- 它有两个参数,第一个是已经定义的函数名,另一个是列表、元组或任何其他可迭代对象。
- 这是对多个数字应用相同函数的一种方式。
- 它在特定位置生成地图对象。
- 当我们在元素上调用已经定义的函数时,它的工作速度很快
map(functionname, iterable)
注意:有关更多信息,请参阅Python map()函数。
Python中的for循环:
- 我们使用 for 循环将一段代码重复固定次数。
- 在不需要结果时使用。
- 执行顺序遍历。
- 从 0 到 n 的循环运行 n+1 次。
for var in iterable : statements
注意:这里的 var 是迭代变量的名称,iterable 可以替换为 range()函数,它们可以是任何数据类型。语句是要执行的动作的步骤。
注意:有关详细信息,请参阅Python For 循环。
例子:
Python
# function to square a given number
def squareNum (a) :
return a * a
listt = [0, -1, 3, 4.5, 99, .08]
# using 'map' to call the function
# 'squareNum' for all the elements
# of 'listt'
x = map(squareNum, listt)
# map function returns a map
# object at this particular
# location
print(x)
# convert map to list
print(list(x))
# alternate way to square all
# elements of 'listt' using
# 'for loop'
for i in listt :
square = i * i
print(square)
Python
# we use the keyword 'pass'
# to simply get a for loop
# with no content
for i in range (10) :
pass
Python
# for loop with else condition
for i in range(10) :
print(i)
else :
print("Finished !")
输出:
Map vs for 循环
- 比较性能,map() 获胜! map() 的工作方式比 for 循环快。在此 ide 中运行时考虑上面的相同代码。
使用地图():
使用 for 循环:
- for 循环可以没有内容,map()函数中不存在这样的概念。
例子:
Python
# we use the keyword 'pass' # to simply get a for loop # with no content for i in range (10) : pass
-
for
循环中可以有一个else
条件,它只在没有使用break
语句时运行。map
中没有这样的东西。例子 :
Python
# for loop with else condition for i in range(10) : print(i) else : print("Finished !")
输出 :
0 1 2 3 4 5 6 7 8 9 Finished !
- for 循环也可以在之前退出。我们可以使用
break
语句来做到这一点。在地图中无法提前退出。 - map 生成地图对象,for 循环不返回任何内容。
- map 和 for 循环的语法完全不同。
- for 循环用于执行相同的代码块固定次数,映射也可以执行此操作,但在一行代码中。