Python:计算lis中的数字

2024-04-19 04:08:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我的输出看起来像

100010
101010
101001
None
None
None

对于程序的下一部分,我需要计算数字序列的数量。例如,它应该是3。我该怎么做。程序的第一部分基本上是生成一个随机的二进制序列(代表寄生虫基因组),无表示宿主没有寄生虫。这些是随机生成的。(每次运行程序时可能会有所不同)。我只需要计算一下有多少寄生虫。这应该在python中完成。你知道吗


Tags: 程序none基因组数量二进制代表序列数字
3条回答

使用generator expression^{}

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

备选方案:从总数中减去None的数目:

>>> len(lst) - lst.count(None)
3
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

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

相关问题 更多 >