如何获取Python中的列表中的元素的数量?

items = [] items.append("apple") items.append("orange") items.append("banana") # FAKE METHOD:: items.amount() # Should return 3 

如何获取列表中的元素数目?

len()函数可以和Python中的很多types一起使用,包括内置types和库types。

 >>> len([1,2,3]) 3 

如何获得列表的大小?

要查找列表的大小,请使用内置函数len

 items = [] items.append("apple") items.append("orange") items.append("banana") 

现在:

 len(items) 

返回3。

从文档

len(s)

返回一个对象的长度(项目数量)。 参数可能是一个序列(如string,字节,元组,列表或范围)或集合(如字典,集合或冻结集合)。

len是从数据模型文档中的 __len__实现的:

object.__len__(self)

调用来实现内置函数len() 。 应该返回对象的长度,一个> = 0的整数。另外,一个没有在Python 2中定义__nonzero__() [或者Python 3中的__len__()方法并且其__len__()方法返回0的对象被认为是在布尔上下文中是错误的。

我们也可以看到__len__是一个列表的方法:

 items.__len__() 

返回3。

内buildtypes,你可以得到len (长度)

事实上,我们看到我们可以得到所有描述types的信息:

 >>> all(hasattr(cls, '__len__') for cls in (str, bytes, tuple, list, xrange, dict, set, frozenset)) True 

虽然这可能不是有用的,因为它作为“开箱即用”的function会更有意义,但是一个相当简单的方法是创build一个具有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属性。

一如往常,你的里程可能会有所不同

除了len你还可以使用operator.length_hint (需要python 3.4+)。 对于正常list两者是等价的,但是length_hint可以获得列表迭代器的长度,这在某些情况下可能是有用的:

 >>> from operator import length_hint >>> l = ["apple", "orange", "banana"] >>> len(l) 3 >>> length_hint(l) 3 >>> list_iterator = iter(l) >>> len(list_iterator) TypeError: object of type 'list_iterator' has no len() >>> length_hint(list_iterator) 3 

但是, length_hint在定义上只是一个“暗示”,所以大部分时间len更好。

我见过几个答案,build议访问__len__ 。 在处理类似list内置类时,这是可以的,但是它可能会导致定制类出现问题,因为len (和length_hint )会执行一些安全检查。 例如,两者都不允许超出某个值的负长度或长度( sys.maxsize值)。 所以使用len函数而不是__len__方法总是比较安全的!

回答你的问题也是以前的例子:

 items = [] items.append("apple") items.append("orange") items.append("banana") print items.__len__() 

您可以在Python中使用len(l)命令,其中l是一个列表。

  new_list_length = list(x for x in range(10)).__len__()