商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 怎么通过 Python 的 len() 函数快速获取列表或字符串的长度信息

怎么通过 Python 的 len() 函数快速获取列表或字符串的长度信息

  发布于2026-07-09 阅读(0)

扫一扫,手机访问

len() 是 Python 里最常用的内置函数之一,专门用来拿长度。它的厉害之处在于快——不遍历容器里的元素,而是直接读取对象内部维护的长度属性,所以不管列表有一千个还是一万个元素,调用一次 len() 基本都是常数时间(O(1))。它支持 list、str 这类实现了 __len__() 方法的对象,但像 int、None 这种就不行。平时写代码,用它做长度统计或空值检查,既方便又规范。

怎么通过 Python 的 len() 函数快速获取列表或字符串的长度信息

如果要在 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
本文转载于:https://www.php.cn/faq/2405007.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。