我的输出看起来像
100010
101010
101001
None
None
None
对于程序的下一部分,我需要计算数字序列的数量。例如,它应该是3.我该怎么做。该程序的第一部分基本上生成随机二进制序列(代表寄生虫基因组)并且没有一个意味着宿主没有寄生虫。这些是随机生成的。 (每次运行程序时可能会有所不同)。我只需要计算出有多少寄生虫。这应该在python中完成。
答案 0 :(得分:1)
>>> lst = [1000010, 101010, 101001, None, None, None]
>>> sum(x != None for x in lst)
3
替代方案:从总数中减去None
的数量:
>>> len(lst) - lst.count(None)
3
答案 1 :(得分: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
'i'给你结果3
答案 2 :(得分: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
答案 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
。