如何获取Python中列表中元素的数量?
items = []
items.append("apple")
items.append("orange")
items.append("banana")
# FAKE METHOD::
items.amount() # Should return 3
我如何获得列表中的元素数量?
len()
函数可以与Python中的很多类型一起使用 - 包括内置类型和库类型。
>>> len([1,2,3])
3
如何获得列表的大小?
要查找列表的大小,请使用内建函数len
:
items = []
items.append("apple")
items.append("orange")
items.append("banana")
现在:
len(items)
返回3。
来自文档
len(s)
返回对象的长度(项目数量)。 参数可以是一个序列(如字符串,字节,元组,列表或范围)或集合(如字典,集合或冻结集合)。
len
是从数据模型文档中的__len__
实现的:
object.__len__(self)
被调用来实现内置函数len()
。 应该返回该对象的长度的整数,> = 0。此外,不限定对象__nonzero__()
[在Python 2或__bool__()
在Python 3]方法,其__len__()
方法返回零被认为是在布尔上下文中为false。
我们也可以看到__len__
是一个列表方法:
items.__len__()
返回3。
内建类型你可以得到len
(长度)
事实上,我们看到我们可以获得所有描述类型的信息:
>>> all(hasattr(cls, '__len__') for cls in (str, bytes, tuple, list,
xrange, dict, set, frozenset))
True
不要将len
用作条件的值
不要做:
if len(items):
...
相反,请执行:
if items:
...
我解释了为什么在这里,但总之,它更具可读性和更高性能。
虽然这可能不是有用的,因为它作为“开箱即用”功能会变得更有意义,但一个相当简单的窍门是构建一个具有length
属性的类:
class slist(list):
@property
def length(self):
return len(self)
你可以像这样使用它:
>>> l = slist(range(10))
>>> l.length
10
>>> print l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
基本上,它与列表对象完全相同,并且具有OOP友好的length
属性。
一如往常,你的里程可能会有所不同
链接地址: http://www.djcxy.com/p/3131.html