如何在两个列表中找到匹配的值?

2024-06-25 08:00:28 发布

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

我有两个号码列表:

parasite genome   [1,1,1,0,1,0,1,0,1,1]
host  genome      [1,1,0,0,1])

我试图找出感染从寄生虫转移到宿主的可能性。这种传播与寄生虫和宿主基因组中1的匹配成正比。在本例中为3/10:

  • 3因为1的位置在3个地方匹配;以及
  • 10是寄生虫基因组的长度。在

我已经把程序的一部分写下来了,但我正忙着计算1的匹配数。有人能帮我吗?在

^{pr2}$

Tags: 程序host基因组列表genome地方可能性号码
1条回答
网友
1楼 · 发布于 2024-06-25 08:00:28

您可以^{}基因组和宿主检查同一位置的元素:

>>> genome = [1,1,1,0,1,0,1,0,1,1]
>>> host = [1,1,0,0,1]

>>> print sum(1 for g, h in zip(genome, host) if g and h)
3
>>> # or
>>> print sum(g * h for g, h in zip(genome, host))
3

相关问题 更多 >