如何获取列表中的元素数量 items
?
items = ["apple", "orange", "banana"]
# There are 3 items.
原文由 y2k 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何获取列表中的元素数量 items
?
items = ["apple", "orange", "banana"]
# There are 3 items.
原文由 y2k 发布,翻译遵循 CC BY-SA 4.0 许可协议
我如何获得列表的长度?
要查找列表中的元素数,请使用内置函数 len
:
items = []
items.append("apple")
items.append("orange")
items.append("banana")
现在:
len(items)
返回 3。
Python 中的一切都是对象,包括列表。在 C 实现中,所有对象都有某种类型的标头。
在 Python 中,列表和其他具有“大小”的类似内置对象尤其具有一个名为 ob_size
的属性,其中缓存了对象中的元素数量。所以检查列表中对象的数量非常快。
但是,如果您要检查列表大小是否为零,请不要使用 len
- 相反,将列表放在布尔上下文中 - 如果为空,则将其视为 False,如果非空,则将其视为 True .
len(s)
返回对象的长度(项目数)。参数可以是序列(如字符串、字节、元组、列表或范围)或集合(如字典、集合或冻结集)。
len
是用 __len__
实现的,来自数据模型 文档:
object.__len__(self)
调用以实现内置函数
len()
。应该返回对象的长度,一个 >= 0 的整数。此外,一个对象没有定义__nonzero__()
[在 Python 2 中或__bool__()
在 Python 3 中] 方法和它的__len__()
方法返回零在布尔上下文中被认为是假的。
我们还可以看到 __len__
是一个列表方法:
items.__len__()
返回 3。
len
(长度)事实上,我们看到我们可以获得所有描述类型的信息:
>>> all(hasattr(cls, '__len__') for cls in (str, bytes, tuple, list,
range, dict, set, frozenset))
True
len
来测试空列表或非空列表当然,要测试特定长度,只需测试是否相等:
if len(items) == required_length:
...
但是有一个特殊情况用于测试零长度列表或逆列表。在那种情况下,不要测试相等性。
另外,不要这样做:
if len(items):
...
相反,只需执行以下操作:
if items: # Then we have some items, not empty!
...
要么
if not items: # Then we have an empty list!
...
我 在这里解释了为什么, 但简而言之, if items
或 if not items
更具可读性和更高性能。
原文由 Russia Must Remove Putin 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答869 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
len()
函数可以与 Python 中的几种不同类型一起使用 - 内置类型和库类型。例如: