回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我想通过将字典中的值除以一个列表来计算它们的概率。
这是格言:</p>
<pre><code>PPM = {'A': [1, 4, 1, 0, 0, 3, 4, 1, 1, 3, 0, 2, 0], 'T': [3, 0, 0, 0, 6, 1, 0, 2, 3, 3, 2, 3, 0],
'C': [1, 2, 1, 0, 0, 2, 1, 0, 1, 0, 4, 0, 4], 'G': [1, 0, 4, 6, 0, 0, 1, 3, 1, 0, 0, 1, 2]}
</code></pre>
<p>我想把每个数字除以这个列表的长度:</p>
<pre><code>sequences = ["GAGGTAAACTCTG", "TCCGTAAGTTTTC", "CAGGTTGGAACTC", "ACAGTCAGTTCAC",
"TAGGTCATTACAG", "TAGGTACTGATGC"]
</code></pre>
<p>我试着做一个类似这样的for循环:</p>
<pre><code>PPM = {}
for k in PFM:
PPM[k]= [((x[i]/len(sequences)) == k for x in PFM) for i in range(len(PFM))]
</code></pre>
<p>但结果是:</p>
<pre><code>{'A': [<generator object <listcomp>.<genexpr> at 0x0000022407181580>, <generator object <listcomp>.<genexpr> at 0x0000022407181820>, <generator object <listcomp>.<genexpr> at 0x0000022407181F90>, <generator object <listcomp>.<genexpr> at 0x0000022407181970>], 'T': [<generator object <listcomp>.<genexpr> at 0x0000022407181F20>, <generator object <listcomp>.<genexpr> at 0x00000224071819E0>, <generator object <listcomp>.<genexpr> at 0x00000224071816D0>, <generator object <listcomp>.<genexpr> at 0x00000224071817B0>], 'G': [<generator object <listcomp>.<genexpr> at 0x00000224060FEF20>, <generator object <listcomp>.<genexpr> at 0x00000224060FEB30>, <generator object <listcomp>.<genexpr> at 0x00000224060FE9E0>, <generator object <listcomp>.<genexpr> at 0x00000224060FEF90>], 'C': [<generator object <listcomp>.<genexpr> at 0x00000224060FE820>, <generator object <listcomp>.<genexpr> at 0x000002240717C190>, <generator object <listcomp>.<genexpr> at 0x000002240717CE40>, <generator object <listcomp>.<genexpr> at 0x000002240717CEB0>]}
</code></pre>
<p>我是python新手,所以我真的不明白我所做的有什么错。
谢谢你的帮助</p>