2013-03-01 30 views

回答

6

使用list.count

your_list.count(0) 

和幫助:

>>> help(list.count) 
Help on method_descriptor: 

count(...) 
    L.count(value) -> integer -- return number of occurrences of value 
+4

我感到羞恥的問這個問題。 – Rock 2013-03-01 07:52:06

+1

@搖滾 - 好的一面 - 你不會馬上忘記它;) – 2013-03-01 07:59:54

2
In [16]: l = [0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0] 

In [17]: l.count(0) 
Out[17]: 5 
1
li = [0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0] 
print len(li) - sum(li) 
1

您的選擇,無論讓你在晚上睡覺:

l = [0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0] 

print l.count(0) 
# or maybe: 
print len(filter(lambda a: a == 0, l)) 
# or maybe: 
print len([0 for x in l if x==0]) 
1

您可以通過100倍使用陣列(,只對大名單就變得很重要)......加快東西

這應該是快100倍,比my_list.count(0)

(my_array==0).sum() 

但是隻有它如果你的數據已經被安排成一個numpy數組(或者你可以在創建時將它放到一個numpy數組中),那麼它會有所幫助。否則轉換my_array = np.array(my_list)消耗時間。