首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:计算列表中的数字

Python:计算列表中的数字
EN

Stack Overflow用户
提问于 2014-02-10 12:46:18
回答 4查看 87关注 0票数 0

我的输出看起来像这样

代码语言:javascript
复制
100010
101010
101001
None
None
None

对于程序的下一部分,我需要计算数字序列的数量。举个例子,应该是3,我该怎么做呢?程序的第一部分基本上生成了一个随机的二进制序列(代表寄生虫基因组),而none意味着宿主没有寄生虫。这些是随机生成的。(每次运行程序时,这可能会有所不同)。我只需要计算那里有多少寄生虫。这应该在python中完成。

EN

回答 4

Stack Overflow用户

发布于 2014-02-10 13:03:47

使用generator expressionsum

代码语言:javascript
复制
>>> lst = [1000010, 101010, 101001, None, None, None]
>>> sum(x != None for x in lst)
3

另一种方法是:从总数中减去None的数量:

代码语言:javascript
复制
>>> len(lst) - lst.count(None)
3
票数 1
EN

Stack Overflow用户

发布于 2014-02-10 13:05:02

代码语言:javascript
复制
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

票数 1
EN

Stack Overflow用户

发布于 2014-02-10 12:59:06

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21669276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档