📜  Python中的迭代器函数1(1)

📅  最后修改于: 2023-12-03 14:46:41.887000             🧑  作者: Mango

Python中的迭代器函数1

在Python中,迭代器(iterator)是许多对象的内置功能,包括列表(list)、集合(set)和元组(tuple)等。迭代器是一种访问集合元素的方式,可以遍历整个集合。迭代器不仅能够遍历Python内置数据类型,还能遍历我们自定义的数据类型,如类(class)等。

Python中内置的迭代器函数有很多,下面介绍部分:

iter()

**函数作用:**返回一个迭代器对象

函数语法:

iter(iterable)

代码示例:

lst = [1, 2, 3]
it = iter(lst)
print(next(it))  # 1
print(next(it))  # 2
print(next(it))  # 3

iter()函数接收一个可迭代对象作为参数(如列表、元组、字符串等),返回一个迭代器对象。通过next()函数调用迭代器,可依次遍历可迭代对象的每一个元素。

next()

**函数作用:**返回迭代器的下一个元素

函数语法:

next(iterator[, default])

代码示例:

lst = [1, 2, 3]
it = iter(lst)
print(next(it))  # 1
print(next(it))  # 2
print(next(it))  # 3
print(next(it, 'End of iteration'))  # End of iteration

next()函数接收一个迭代器作为参数,返回迭代器的下一个元素。当迭代器遍历结束时,如果传入了default参数,则返回default值;否则抛出StopIteration异常。

enumerate()

**函数作用:**返回可迭代对象的元素和索引

函数语法:

enumerate(iterable[, start])

代码示例:

lst = ['apple', 'banana', 'orange']
for idx, val in enumerate(lst):
    print(f'{idx}: {val}')

enumerate()函数将一个可迭代对象作为参数,返回一个元素为元组的迭代器,其中每个元组包含原迭代器的下标和对应的元素值。可选的start参数表示下标的起始值,默认为0。

zip()

**函数作用:**将多个可迭代对象中相同位置的元素打包为元组

函数语法:

zip(*iterables)

代码示例:

lst1 = [1, 2, 3]
lst2 = ['red', 'green', 'blue']
zip_lst = zip(lst1, lst2)
for tup in zip_lst:
    print(tup)

zip()函数接收多个可迭代对象作为参数,返回一个可迭代的迭代器,每个元素是一个元组,包含所有可迭代对象中相同位置的元素。当其中任意一个可迭代对象遍历结束时,zip()函数也会停止迭代。如果参数可迭代对象不等长,则以最短的对象为基准。