2014-02-10 3 views
0

Мой вывод выглядитPython: вычисления чисел в списке

100010 
101010 
101001 
None 
None 
None 

В следующей части программы мне нужно подсчитать количество последовательности цифр. Например, это должно быть 3. Как это сделать. Первая часть программы в основном генерирует случайную двоичную последовательность (представляющую геном паразита). И ни один из них не означает, что для хозяина нет паразитов. Они генерируются случайным образом. (Это может быть иначе, когда я запускаю программу каждый раз). Мне просто нужно рассчитать, сколько там паразитов. Это должно быть сделано в python.

+3

Что такое код, который генерирует этот вывод? Редактировать сообщение с ним пожалуйста. – Christian

+0

https://stackoverflow.com/questions/21617079/python-help-in-organizing-the-output-in-colums: вот ссылка на код – user3281911

ответ

0
In [2]: L = [100010, 101010, 101001, None, None, None] 

In [3]: sum(1 for _ in itertools.takewhile(lambda n: n is not None, L)) 
Out[3]: 3 
0

Если собрать все свои выходные в список, как так:

collection = ['100010', '101010', '101001', None, None, None] 

вы можете создать новый список, используя список понимание:

parasites = [item for item in collection if item is not None] 

, который даст вам список ['100010', '101010', '101001'] , Тогда вы можете найти длину этого списка, чтобы дать вам количество паразитов:

len(parasites) 

который дает 3 в этом случае.

+0

https://stackoverflow.com/questions/21617079/python -help-in-organization-the-output-in-colums У меня есть часть моего программирования здесь, я пытаюсь поместить его в этот код. – user3281911

1

Использование generator expression и sum:

>>> lst = [1000010, 101010, 101001, None, None, None] 
>>> sum(x != None for x in lst) 
3 

Альтернатива: вычесть число None от общего числа:

>>> len(lst) - lst.count(None) 
3 
1
input = '100010 101010 101001 None None None' 
import string 
wordsList = string.split(input) 
i=0; 
for word in wordsList: 
    if word != 'None' : 
     i= i+1 
print i 

'Я' дает результат 3

Смежные вопросы