Python的Itetool是一个模块,它提供了各种函数,这些函数在迭代器上工作以产生复杂的迭代器。该模块作为一个快速,内存效率的工具,可以单独使用或组合使用以形成迭代器代数。
例如,假设有两个列表,并且您想要将它们的元素相乘。有几种方法可以实现这一目标。可以使用朴素的方法,即同时迭代列表的元素并将它们相乘。另一种方法是使用 map 函数,即通过将 mul 运算符作为第一个参数传递给 map 函数,并将 List 作为该函数的第二个和第三个参数传递。让我们看看每种方法所花费的时间。
- # 演示迭代器模块的Python程序
-
-
- import operator
- import time
-
- # 定义列表
- L1 = [1, 2, 3]
- L2 = [2, 3, 4]
-
- # 映射函数之前的开始时间
- t1 = time.time()
-
- # 计算结果
- a, b, c = map(operator.mul, L1, L2)
-
- # 映射函数后的结束时间
- t2 = time.time()
-
- # 映射函数花费的时间
- print("Result:", a, b, c)
- print("Time taken by map function: %.6f" %(t2 - t1))
-
- # 初始方法之前的开始时间
- t1 = time.time()
-
- # 使用for循环计算结果
- print("Result:", end = " ")
- for i in range(3):
- print(L1[i] * L2[i], end = " ")
-
- # 朴素方法后的结束时间
- t2 = time.time()
- print("\nTime taken by for loop: %.6f" %(t2 - t1))
输出:
Result: 2