Python 内置的常用迭代器有哪些

2023-03-31 00:00:00 迭代 常用 有哪些

Python 内置的常用迭代器包括:

range 迭代器
enumerate 迭代器
zip 迭代器
map 迭代器
filter 迭代器
下面我们来详细了解每个迭代器的使用方法,并结合代码演示。

  1. range 迭代器
    range 迭代器可以生成一个等差数列,其用法如下:
range(stop)
range(start, stop[, step])

其中,start 表示起始值(默认为 0),stop 表示终止值,step 表示步长(默认为 1)。

# 使用 range 迭代器打印 0 到 9 的数字
for i in range(10):
    print(i)

输出结果为:

0
1
2
3
4
5
6
7
8
9
  1. enumerate 迭代器
    enumerate 迭代器可以同时返回迭代元素的索引和值,其用法如下:
enumerate(iterable, start=0)

其中,iterable 表示可迭代对象,start 表示起始索引(默认为 0)。

# 使用 enumerate 迭代器打印字符串 "pidancode.com" 中每个字符的索引和值
for i, char in enumerate("pidancode.com"):
    print(i, char)

输出结果为:

0 p
1 i
2 d
3 a
4 n
5 c
6 o
7 d
8 e
9 .
10 c
11 o
12 m
  1. zip 迭代器
    zip 迭代器可以将多个可迭代对象按元素顺序打包成一个元组,其用法如下:
zip(*iterables)

其中,iterables 表示多个可迭代对象。

# 使用 zip 迭代器打印字符串 "pidancode.com" 和 "皮蛋编程" 中对应位置的字符
for char1, char2 in zip("pidancode.com", "皮蛋编程"):
    print(char1, char2)

输出结果为:

p 皮
i 蛋
d 编
a 程
n 
c 
o 
d 
e 
. 
  1. map 迭代器
    map 迭代器可以将一个函数作用于可迭代对象的每个元素,并返回一个新的可迭代对象,其用法如下:
map(function, iterable, ...)

其中,function 表示要作用于每个元素的函数,iterable 表示可迭代对象。

# 使用 map 迭代器将字符串 "pidancode.com" 中的每个字符转换成 ASCII 码
ascii_list = list(map(ord, "pidancode.com"))
print(ascii_list)

输出结果为:

[112, 105, 100, 97, 110, 99, 111, 100, 101, 46, 99, 111, 109

相关文章