在 Python 的 for 循环中创建一个新列表

在 python 中的 for 循环中创建一个新列表

Create a new list in a for loop in Python

要在 for 循环中创建一个新列表:

  1. 使用for循环遍历range对象。
  2. 创建包含或不包含项目的列表。
  3. 将新列表附加到现有列表。
主程序
my_list = [] for i in range(3): my_list.append([]) print(my_list) # 👉️ [[], [], []] # ---------------------------------------------- my_list = [] for i in range(3): new_list = [] for j in range(3): new_list.append(j) my_list.append(new_list) print(my_list) # 👉️ [[0, 1, 2], [0, 1, 2], [0, 1, 2]] # ---------------------------------------------- my_list = [] for i in range(3): my_list.append(i) print(my_list) # 👉️ [0, 1, 2]

第一个示例使用for循环来迭代range对象。

在每次迭代中,我们将一个空列表附加到现有列表。

主程序
my_list = [] for i in range(3): my_list.append([]) print(my_list) # 👉️ [[], [], []]

结果是一个包含 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循环迭代第二个range对象。

主程序
my_list = [] for i in range(3): new_list = [] for j in range(3): new_list.append(j) my_list.append(new_list) print(my_list) # 👉️ [[0, 1, 2], [0, 1, 2], [0, 1, 2]]

内部for循环迭代另一个range对象并将数字 0、1 和 2 附加到每个子列表。

确保在每次迭代时将子列表附加到原始列表。

list.append
()
方法将一个项目添加到列表的末尾。

您也可以从1或任何其他值开始范围。

主程序
my_list = [] for i in range(3): new_list = [] for j in range(1, 4): new_list.append(j) my_list.append(new_list) print(my_list) # 👉️ [[1, 2, 3], [1, 2, 3], [1, 2, 3]]

如果您需要创建一个简单的数字列表,您可以使用for循环或将list()类与range对象一起使用。

主程序
my_list = [] for i in range(1, 4): my_list.append(i) print(my_list) # 👉️ [1, 2, 3] my_list = list(range(1, 4)) print(my_list) # 👉️ [1, 2, 3]

使用list()该类将range对象转换为列表比在循环list.append()的每次迭代中使用要快一些for

发表评论