Python - 循环列表



循环访问列表项

在 Python 中遍历列表项是指迭代列表中的每个元素。我们这样做是为了对每个项目执行所需的操作。这些操作包括列表修改、条件操作、字符串操作、数据分析等。

Python 提供了多种循环访问列表项的方法,最常见的是 for 循环。我们也可以使用 while 循环来遍历列表项,尽管它需要显式地对循环控制变量(即索引)进行额外处理。

使用 For 循环遍历列表项

Python 中的 for 循环用于迭代序列(如列表、元组、字典、字符串或范围)或任何其他可迭代对象。它允许您为序列中的每个项目重复执行一个代码块。

在 for 循环中,您可以使用变量访问序列中的每个项目,从而允许您根据该项目的值执行操作或逻辑。我们可以通过迭代列表中的每个项目来使用 for 循环遍历列表项。

语法

以下是在 Python 中使用 for 循环遍历列表中项目的基本语法 -


for item in list:
	 	# Code block to execute

在下面的示例中,我们使用 for 循环遍历列表 “lst” 中的每个元素,并检索每个元素,后跟同一行上的空格 -


lst = [25, 12, 10, -21, 10, 100]
for num in lst:
	 	print (num, end = ' ')

输出

以下是上述代码的输出 -

25 12 10 -21 10 100

使用 While 循环遍历列表项

Python 中的 while 循环用于重复执行代码块,只要指定的条件计算结果为 “True”。

我们可以使用 while 循环遍历列表项,方法是初始化一个索引变量,然后使用索引变量迭代列表并递增它,直到到达列表的末尾。

索引变量在循环中用于跟踪序列中的当前位置或索引,例如列表或数组。它通常在循环之前初始化,并在循环内更新以迭代序列。

语法

以下是在 Python 中使用 while 循环遍历列表中项目的基本语法 -


while condition:
	 	# Code block to execute

在下面的示例中,我们使用 while 循环遍历列表 “my_list” 中的每个项目。我们使用索引变量 “index” 按顺序访问每个项目,在每次迭代后递增它以移动到下一个项目 -


my_list = [1, 2, 3, 4, 5]
index = 0

while index < len(my_list):
	 	print(my_list[index])
	 	index += 1

输出

上述代码的输出如下 -

1
2
3
4
5

循环遍历具有索引的列表项

索引是一个数值,表示元素在序列(如列表)中的位置,第一个元素从 0 开始。

我们可以通过迭代与列表长度相对应的索引范围并在循环中使用索引访问每个元素,从而使用 index 遍历列表项。

此示例使用整数初始化列表 “lst” 并创建与列表长度对应的索引范围。然后,它遍历范围中的每个索引,并在列表 “lst” 中打印该索引处的值 -


lst = [25, 12, 10, -21, 10, 100]
indices = range(len(lst))
for i in indices:
	 	print ("lst[{}]: ".format(i), lst[i])

输出

我们得到的输出如下所示 -

lst[0]: 25
lst[1]: 12
lst[2]: 10
lst[3]: -21
lst[4]: 10
lst[5]: 100

使用 List Comprehension 进行迭代

Python 中的列表推导式是一种通过将表达式应用于可迭代对象的每个元素来创建列表的简洁方法。这些表达式可以是算术运算、函数调用、条件表达式等。

我们可以通过指定表达式和可迭代对象(如列表、元组、字典、字符串或范围)来使用列表推导式进行迭代。以下是语法 -


 [expression for item in iterable]

这会将表达式应用于可迭代对象中的每个项目,并创建一个结果列表。

在这个例子中,我们使用列表推导来遍历数字列表中的每个数字,对每个数字求平方,并将平方结果存储在新列表 “squared_numbers” 中 -


numbers = [1, 2, 3, 4, 5]
squared_numbers = [num ** 2 for num in numbers]
print (squared_numbers)

输出

我们得到的输出如下所示 -

[1, 4, 9, 16, 25]

使用 enumerate() 函数进行迭代

Python 中的 enumerate() 函数用于迭代可迭代对象,同时还提供每个元素的索引。

我们可以通过将 enumerate() 函数应用于可迭代对象来迭代它。以下是语法 -


 for index, item in enumerate(iterable):

这在迭代期间提供了 iterable 中每个元素的 index 和 item

在下面的示例中,我们使用 enumerate() 函数遍历列表 “fruits” 并检索每个 fruit 及其相应的索引 -


fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
	 	print(index, fruit)

输出

我们得到的输出如下所示 -

0 apple
1 banana
2 cherry