擅长:python、mysql、java
<p>首先需要将列号转换为整数</p>
<pre><code> ind_pop[i] = [int(j) for j in re.findall(r'[^,;\s]+', ind_input)]
</code></pre>
<p>(我还要将正则表达式更改为<code>r'\d+'</code>)</p>
<p>然后,不要使用<code>alleles1</code>、<code>alleles2</code>等,而是使用主列表或字典:</p>
<pre><code>master = {i: [alleles[j] for j in vals] for i, vals in ind_pop.items()}
counters = {i: collections.Counter(al) for i, al in master.items()}
</code></pre>
<p>然后您可以访问<code>counters[i]</code>而不是<code>counter1</code>等</p>
<p>作为补充说明,您可以通过将<code>ind_pop</code>生成一个列表,使用<code>append</code>而不是保留计数器来简化上面的所有内容</p>