计算列表的大小

时间:2013-12-03 22:52:29

标签: python list size

我正在尝试在Python中实现一个返回列表大小的函数。列表开头= [0,0,2,0,0,0,0,0,0,0]。我想在计算大小之前删除所有的0,所以它应该是这样的:

def cardl(list):
for j in range(0,10):
    if list[j]==0:
        list.remove(list[j])
        return len(e[g])

问题是,不是最后返回1,而是返回9.当然我在循环中犯了一些错误。

感谢您的帮助!

3 个答案:

答案 0 :(得分:5)

您在代码中返回的时间过早,并且在迭代时修改列表并不是一个好主意。

顺便说一下,更简单的解决方案是:

>>> lis = [0,0,2,0,0,0,0,0,0,0]
>>> len(lis) - lis.count(0)
1

答案 1 :(得分:3)

总是有标准sum成语:

sum(1 for x in lst if x != 0) 

答案 2 :(得分:1)

使用python的一些内置函数:

    len(filter(None,list))