Menu
CoddyTech

内置迭代器函数

Coddy Python 迭代器 课程的第 7 课,共 13 课。

Python 提供了多个内置函数,可以与迭代器配合使用,让你更轻松地操作和处理可迭代数据。我们来看看三个常用函数:enumerate()、zip() 和 reversed()。

1. enumerate()

enumerate() 函数会为可迭代对象添加计数器,并将其作为 enumerate 对象返回。当你需要同时获取可迭代对象中元素的索引和值时,这个函数特别有用。

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

# 输出:
# 0: apple
# 1: banana
# 2: cherry

2. zip()

zip() 函数会创建一个由元组组成的迭代器,其中每个元组都包含每个输入可迭代对象中的第 i 个元素。它适合用来组合多个可迭代对象。

names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
for name, age in zip(names, ages):
    print(f"{name} is {age} years old")

# 输出:
# Alice 今年 25 岁
# Bob 今年 30 岁
# Charlie 今年 35 岁

3. reversed()

reversed() 函数会返回一个反向迭代器。它会创建一个迭代器,按相反的顺序访问给定序列。

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

# 输出:
# 5
# 4
# 3
# 2
# 1

这些内置函数为处理迭代器提供了强大的工具,让你可以轻松添加计数器、组合可迭代对象或反转序列。在处理可迭代数据结构时,它们可以大幅简化代码,让代码更易读。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

challenge icon

挑战

简单

创建一个程序,处理产品及其价格的列表,结合 enumerate()、zip() 和 reversed() 函数,生成格式化输出。

你会收到以下输入:

  • 由逗号分隔的产品名称字符串
  • 由逗号分隔的对应价格字符串

你的程序应该:

  1. 将输入字符串转换为产品列表和价格列表
  2. 使用 zip() 将产品与对应价格配对
  3. 使用 reversed() 将配对项的顺序反转
  4. 使用 enumerate() 为每一项添加计数器
  5. 按以下格式打印每一项:"#{counter}. {product}: ${price}"

每个格式化后的项目都要另起一行打印。

亲手试试

# 读取输入
products = input().split(',')
prices = input().split(',')

# 将 prices 转换为浮点数
prices = [float(price) for price in prices]

# TODO: 在下方编写你的代码
# 提示:使用 zip()、reversed() 和 enumerate() 处理数据

# 打印格式化后的输出
# 记得将每一项打印在新的一行

Python 迭代器中的所有课

自己练习: Python 在线编译器