如何在 Python 中查找列表的长度
了解如何使用 len() 函数在 Python 中查找列表的长度。了解 O(1) 时间复杂度和检查计数。
概述
在验证用户输入、将数据划分为更小的块、分页 API 查询或编写循环迭代时,了解集合中元素的数量至关重要。在 Python 中,您可以使用简单的内置“len()”函数查找任何集合的大小或长度。
在底层,Python 的列表结构是作为可变长度数组实现的。它包含一个内部计数器,用于跟踪其保存的元素数量。当你调用 len(my_list) 时,Python 不会遍历列表来计算元素数量;它只是读取这个内部计数器。这意味着“len()”的时间复杂度始终为 O(1)(恒定时间),无论列表大小如何,它都非常快。
`len()` 函数是通用的,适用于任何实现 `__len__` 魔术方法的可迭代对象。这意味着您可以使用完全相同的语法来查找元组、字符串、字典、集合和自定义类实例的长度,从而在整个代码库中保持干净的一致性。
代码和执行输出
此脚本演示了使用 len() 函数查找列表、字符串和字典的长度。
list_length.py
在编辑器中尝试empty = []
numbers = [10, 20, 30, 40, 50]
words = ["python", "code", "run"]
# 1. Finding lengths of lists
print("Empty list length:", len(empty))
print("Numbers list length:", len(numbers))
# 2. Finding length of a string
text = "Hello, World!"
print("String length:", len(text))
# 3. Finding length of a dictionary
details = {"id": 1, "name": "Alice"}
print("Dictionary length:", len(details))端子输出
Empty list length: 0
Numbers list length: 5
String length: 13
Dictionary length: 2逐步实施
- 调用 len() 函数并将列表变量作为其单个参数传递。
- 将返回的整数存储在变量中或直接打印/计算它。
- 在条件或数学计算(如索引)中使用结果。
常见问题解答
为什么 Python 中的 len() 这么快?
因为 Python 的内置集合在内部存储其项目计数。调用 len() 只是读取结构体字段而不执行任何迭代。
如果我在自定义类对象上调用 len() 会发生什么?
除非您在自定义类定义中定义 __len__(self) 魔术方法,否则它将引发 TypeError。
相关主题
推荐的 Python 资源
通过相关的交互式教程、备忘单和代码比较来扩展您的知识。