Python 中如何获取列表的长度(元素个数)?

获取 Python 列表长度用内置函数 len()。本文介绍 len 的用法、复杂度及在其他数据类型上的应用。

最佳实践
Python 中如何获取列表的长度(元素个数)?封面

用内置函数 len()len(my_list) 返回列表的元素个数。时间复杂度 O(1)——列表内部记录了长度,不需要遍历。

基本用法

my_list = [1, 2, 3, 4, 5]
print(len(my_list))  # 5

len() 适用于所有容器类型

len("hello")        # 5(字符串)
len((1, 2, 3))      # 3(元组)
len({'a': 1})       # 1(字典,键的个数)
len({1, 2, 2, 3})   # 3(集合,去重后)
len(range(10))      # 10

常见用法

# 判断是否为空(但惯用法是直接 if not my_list)
if len(my_list) == 0:
    print("空列表")

# 配合 range 按下标遍历
for i in range(len(my_list)):
    print(i, my_list[i])

注意:for i in range(len(...)) 在 Python 里通常不是最佳写法,直接 for item in my_list 或需要下标时用 enumerate() 更 Pythonic。

常见问题(FAQ)

Q:len() 会不会很慢?
A:不会。CPython 的列表、字典等内置容器都缓存了长度,len() 是常数时间 O(1)。

Q:嵌套列表 len() 算哪层?
A:只算最外层。len([[1,2],[3,4]]) 是 2,不是 4。

Q:生成器能用 len() 吗?
A:不能,生成器没有长度(会抛 TypeError)。要么转列表 len(list(gen))(会消耗它),要么遍历计数 sum(1 for _ in gen)

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台