怎么通过 Python 的 len() 函数快速获取列表或字符串的长度信息
len()函数不遍历元素,直接读取内部长度属性,时间复杂度为O(1)。支持list、str等实现了__len__()的对象,但对int、None等无效。处理列表时只计算最外层元素个数,字符串则按Unicode字符计数,处理中文方便。配合if可直接判断空值。
len()是 Python 里最常用的内置函数之一,专门用来拿长度。它的厉害之处在于快——不遍历容器里的元素,而是直接读取对象内部维护的长度属性,所以不管列表有一千个还是一万个元素,调用一次len()基本都是常数时间(O(1))。它支持 list、str 这类实现了__len__()方法的对象,但像 int、None 这种就不行。平时写代码,用它做长度统计或空值检查,既方便又规范。

如果要在 Python 里快速知道一个列表或字符串有多长,那 len() 就是最直接的选择。它不像某些语言需要逐个元素计数,而是直接取对象内部存好的长度值,所以效率非常高。不管数据量多大,执行时间几乎一样,这就是常数时间复杂度的好处。
对列表使用 len() 获取元素个数
列表是 Python 里最常用的可变序列,len() 返回的就是里边存了几个元素:
- 空列表会返回 0,比如
len([])得到 0 - 一个有 5 个数字的列表:
len([1, 2, 3, 4, 5])→ 5 - 注意,如果列表里嵌套了子列表,
len()只计算最外层有几个元素,不往深层递归。比如len([[1,2], [3], 4])结果是 3,因为外层就是三个独立元素。
对字符串使用 len() 获取字符数
字符串在 Python 里是 Unicode 字符序列,len() 数的是字符个数,不是字节数,这一点在处理中文时尤其方便:
len("hello")→ 5(5个英文字符)len("你好")→ 2(每个汉字算一个字符,不用担心中文编码问题)- 空格和标点也会计入:
len("a b!")→ 4(三个字符加一个空格)
注意:len() 只适用于有 __len__() 方法的对象
不是所有类型都能用 len()。它要求对象实现了 __len__() 这个魔术方法——你可以理解为对象自己得知道怎么告诉别人它的长度。常见支持的类型有:
- list、str、tuple、dict、set、bytes、range 等等都可以
- 但 int、float、None、函数对象这些就不行,强行调用会报
TypeError - 如果你自己写了一个类,想让它支持
len(),那就在类里加上def __len__(self): return ...就行
小技巧:配合 if 判断做空值检查
很多初学者会写 if my_list != []: 或者 if len(my_list) > 0:,其实有更 Pythonic 的做法——利用布尔上下文直接判断:
if my_list:—— 非空列表自动为 True(内部隐式调用了len(),但代码更简洁)if not my_string:—— 空字符串自动为 False- 当然,如果明确需要知道具体长度数值,那就老老实实用
len()。比如要判断列表长度是否恰好为 3,还是得显式调用len(my_list) == 3
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Ableton Live 是面向音乐制作人与现场表演者的数字音频工作站,提供编曲视图、独具特色的现场视图、音频录制、MIDI创作、实时变速、乐器及效果器。Mac版原生支持Apple芯片,并可连接音频接口、MIDI控制器和第三方插件。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。














