📜  Python:映射 VS For 循环

📅  最后修改于: 2022-05-13 01:55:25.580000             🧑  作者: Mango

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 !")


输出:


[0, 1, 9, 20.25, 9801, 0.0064]
0
1
9
20.25
9801
0.0064

Map vs for 循环

  1. 比较性能,map() 获胜! map() 的工作方式比 for 循环快。在此 ide 中运行时考虑上面的相同代码。

    使用地图():

    使用 for 循环:

  2. for 循环可以没有内容,map()函数中不存在这样的概念。

    例子:

    Python

    # we use the keyword 'pass'
    # to simply get a for loop 
    # with no content
    for i in range (10) :
        pass
    
  3. 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 !
    
  4. for 循环也可以在之前退出。我们可以使用break语句来做到这一点。在地图中无法提前退出。
  5. map 生成地图对象,for 循环不返回任何内容。
  6. map 和 for 循环的语法完全不同。
  7. for 循环用于执行相同的代码块固定次数,映射也可以执行此操作,但在一行代码中。