一文掌握在 Python 中遍历列表的 8 种基本方法
在本文中,我们将学习如何在 Python 中遍历列表。您可以根据需要或过程效率选择最佳方法。
1.使用 for 循环遍历列表
使用 for 循环在列表中进行迭代是实现遍历列表的最简单和最基本的方法。
「语法:」
for variableName in listName:
「示例:」
list1 = [1, 3, 5, 7, 9]
for i in list1:
print(i)
#输出:
1
3
5
7
9
以上示例使用一个简单的 for 循环,遍历列表的所有元素并逐个输出元素。
2.使用 while 循环遍历列表
在 python 中遍历列表的第二种方法是使用 while 循环。在 while 循环方式中,我们将使用与 for 循环类似的方法。
「语法:」
while condition:
Statement
「示例:」
list1 = [1, 3, 5, 7, 9]
length = len(list1)
i = 0
while i < length:
print(list1[i])
i += 1
# 输出:
1
3
5
7
9
在上面的示例程序中,我们必须找到列表的长度作为循环条件。while 循环仅在条件为真时才循环。我们还声明并初始化了一个变量 “i”,初始值为“0”。
3.使用 enumerate() 方法遍历列表
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
「语法:」
enumerate(sequence, [start=0])
「参数:」
sequence -- 一个支持迭代对象。 start -- 下标起始位置。
「示例:」
list1 = [1, 3, 5, 7, 9]
for i, j in enumerate(list1):
print (i,":",j)
#输出:
0 : 1
1 : 3
2 : 5
3 : 7
4 : 9
4.使用列表推导式遍历列表
「语法:」
[expression for item in list]
「参数:」
expression:返回值的有效表达式。
item:可迭代对象的值。
list:列表、集合、序列、生成器或任何其他可迭代对象。
「示例:」
list1 = [1, 3, 5, 7, 9]
[print(i) for i in list1]
# 输出:
1
3
5
7
9
5.使用 for 循环和 range() 在遍历列表
range() 可以与 for 循环结合使用,以遍历和迭代列表。该函数返回一系列数字,从 0(默认值)开始,默认情况下递增 1,并在指定数字之前停止。
「语法:」
range(start, stop, step)
「示例:」
list1 = [1, 3, 5, 7, 9]
length = len(list1)
for x in range(length):
print(list1[x])
# 输出:
1
3
5
7
9
6.使用 map() 和 lambda 遍历列表
「lambda 语法:」
lambda arguments : expression
「map() 语法:」
map(function, iterables)
「示例:」
list1 = [1, 3, 5, 7, 9]
list2 = list(map(lambda y:y, list1))
print(list2)
#输出:
[1, 3, 5, 7, 9]
在上面的例子中,我们使用了 lambda 和 map() 函数的组合来迭代列表。map() 函数将列表元素映射到 lambda。lambda y:y 接受每个元素并返回该元素。
7.使用 zip() 遍历列表
如果你想同时遍历两个列表,你可以使用 zip() 函数。zip() 函数的作用是创建一个迭代器,该迭代器将聚合来自两个或多个可迭代对象的元素。
「语法:」
zip(iterator1, iterator2, iterator3 ...)
「示例:」
list1 = [1, 3, 5, 7, 9]
list2 = ['a', 'b', 'c', 'd', 'e']
for a, b in zip(list1, list2):
print (a, b)
#输出:
1 a
3 b
5 c
7 d
9 e
8.使用迭代器 iter() 和 next() 遍历列表
iter() 创建迭代器。
next() 访问迭代器。
「示例:」
list1 = [1, 3, 5, 7, 9]
iter1 = iter(list1)
while True:
try:
element = next(iter1)
print(element)
except StopIteration:
break
# 输出:
1
3
5
7
9
next() 在访问迭代器时,如果访问到最后一个元素,再继续访问下一个元素会触发 StopIteration 异常。
?
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!
?