在 Python 中重复一个动作 N 次

在 Python 中重复一个动作 N 次

Repeat an action N times in Python

重复一个动作 N 次:

  1. 使用range()该类创建一个range长度为 N 的对象。
  2. 使用for循环遍历range对象。
  3. 在每次迭代中执行操作。
主程序
def print_message(message): print(message) number = 1 for _ in range(5): number = number * 2 print_message('example') print(number) # 👉️ 32

我们使用了一个for循环来迭代一个range对象 N 次。

range类通常用于在循环中循环特定次数,for并采用以下参数:

姓名 描述
start 表示范围开始的整数(默认为0
stop 向上,但不包括提供的整数
step 范围将由每 N 个数字组成,从startstop(默认为1

如果您只将单个参数传递给range()构造函数,则它被认为是stop参数的值。

主程序
for n in range(5): print(n) # 👉️ 0 1 2 3 4 result = list(range(5)) # 👇️ [0, 1, 2, 3, 4] print(result)
该示例表明,如果start省略参数,则默认为0,如果step省略参数,则默认为1.

如果提供了startstop参数的start值,则该值是包含性的,而该stop值是独占性的。

主程序
result = list(range(1, 5)) # 👇️ [1, 2, 3, 4] print(result)

在循环的每次迭代中for,我们调用一个函数并重新分配一个变量。

主程序
def print_message(message): print(message) number = 1 for _ in range(5): number = number * 2 print_message('example') print(number) # 👉️ 32

您可以使用此方法执行任何其他操作 N 次。

我们为变量名使用了下划线__对于我们不打算使用的占位符变量,有一个约定使用下划线。

或者,您可以使用itertools.repeat()该类。

使用 itertools.repeat() 重复一个动作 N 次

重复一个动作 N 次:

  1. 使用itertools.repeat()该类创建一个长度为 N 的迭代器。
  2. 使用for循环迭代迭代器。
  3. 在每次迭代中执行操作。
主程序
from itertools import repeat def print_message(message): print(message) number = 1 for _ in repeat(None, 5): number = number * 2 print_message('example') print(number) # 👉️ 32

itertools.repeat类接受一个对象和该

对象应重复的次数作为参数。

主程序
from itertools import repeat # 👇️ ['x', 'x', 'x', 'x', 'x'] print(list(repeat('x', 5)))

该方法返回一个包含对象重复 N 次的迭代器。

该类itertools.repeat()range()这种情况下的类快一点,因为它不必int在每次迭代时都创建一个对象。

但是,对于大多数应用程序而言,性能差异可以忽略不计 (~15%)。

您选择哪种方法是个人喜好的问题。我会使用
range()该类,因为我发现它更直观且更易于阅读。

发表评论