Python 的内置函数 reversed

Python 内建函数列表 > Python 的内置函数 reversed

Python 的内置函数 reversed() 是一个用于序列反转的高效工具函数,它返回一个反向迭代器对象。以下是关于该函数的详细说明:

  1. 基本用法
  • 语法:reversed(seq)
  • 参数:seq 可以是任何实现了 __reversed__() 方法的对象,或者支持序列协议(__len__()__getitem__() 方法)的对象
  • 返回值:返回一个反向迭代器对象
  1. 支持的数据类型
  • 列表:reversed([1, 2, 3]) → 返回 [3, 2, 1] 的迭代器
  • 元组:reversed((1, 2, 3)) → 返回 (3, 2, 1) 的迭代器
  • 字符串:reversed("abc") → 返回 "cba" 的迭代器
  • 范围对象:reversed(range(5)) → 返回 4, 3, 2, 1, 0 的迭代器
  1. 实际应用示例
python 复制代码
# 反转列表
lst = [1, 2, 3, 4]
for num in reversed(lst):
    print(num)  # 输出:4, 3, 2, 1

# 字符串反转
s = "hello"
reversed_str = ''.join(reversed(s))  # "olleh"

# 自定义类的反转
class MySeq:
    def __init__(self, data):
        self.data = data
    
    def __len__(self):
        return len(self.data)
    
    def __getitem__(self, index):
        return self.data[index]

seq = MySeq([10, 20, 30])
for item in reversed(seq):
    print(item)  # 输出:30, 20, 10
  1. 性能特点
  • reversed() 不会创建新的序列,而是返回一个迭代器,因此内存效率高
  • 与切片反转 seq[::-1] 相比,reversed() 更节省内存,特别是处理大型序列时
  • 时间复杂度为 O(1),因为它只是返回一个反向访问的迭代器
  1. 注意事项
  • 返回的迭代器是一次性的,再次迭代需要重新调用 reversed()
  • 对于不可变序列(如字符串),需要配合 join() 等方法才能得到反转后的结果
  • 不支持直接反转字典和集合,因为它们是无序的数据结构
相关推荐
DeepVisionary2 分钟前
从 Qwen3.8-27B 把原生多模态、原生 FP8、桌面级 Agent 三件事一次集齐,看开源大模型的“工业化拐点“
python·自动化
固定资产管理系统软件1 小时前
商务局RFID固定资产管理系统的应用价值与落地要点解析
大数据·python
TheBestRucy2 小时前
Python 九阳神功:从零筑基到线程飞升
服务器·开发语言·网络·人工智能·python
lancyu2 小时前
关于多轮对话机器人的上下文Token优化和解决方案
人工智能·python·深度学习·机器学习·chatgpt·机器人·prompt
草莓橙子碗3 小时前
Claude 使用指南
开发语言·python
工具分享3 小时前
陪跑跟品爆单AI选品助手,高效跟品会赔本吗?
人工智能·python
COOLMO研究AI3 小时前
Python 如何实现 AI API 的提示词(Prompt)版本管理与热更新
人工智能·python·prompt
老郑聊AI业财智造3 小时前
Transformer 技术架构与源码分析
人工智能·python·深度学习·语言模型·架构·transformer·软件工程
程序员三藏3 小时前
自动化测试用例编写详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
230万光年的思念4 小时前
分子动力学模拟参考文献
python