内置迭代器函数
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
这些内置函数为处理迭代器提供了强大的工具,让你可以轻松添加计数器、组合可迭代对象或反转序列。在处理可迭代数据结构时,它们可以大幅简化代码,让代码更易读。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
挑战
简单创建一个程序,处理产品及其价格的列表,结合 enumerate()、zip() 和 reversed() 函数,生成格式化输出。
你会收到以下输入:
- 由逗号分隔的产品名称字符串
- 由逗号分隔的对应价格字符串
你的程序应该:
- 将输入字符串转换为产品列表和价格列表
- 使用
zip()将产品与对应价格配对 - 使用
reversed()将配对项的顺序反转 - 使用
enumerate()为每一项添加计数器 - 按以下格式打印每一项:"#{counter}. {product}: ${price}"
每个格式化后的项目都要另起一行打印。
亲手试试
# 读取输入
products = input().split(',')
prices = input().split(',')
# 将 prices 转换为浮点数
prices = [float(price) for price in prices]
# TODO: 在下方编写你的代码
# 提示:使用 zip()、reversed() 和 enumerate() 处理数据
# 打印格式化后的输出
# 记得将每一项打印在新的一行Python 迭代器中的所有课
自己练习: Python 在线编译器