擅长:python、mysql、java
<p>好的,您有一些您没有解释过的形式的输入数据,您想要生成从<code>perm_1_2_3</code>到<code>perm_16_15_14</code>的列。你知道吗</p>
<p>一种非常简单的方法是使用<a href="https://docs.python.org/3/library/itertools.html#itertools.permutations" rel="nofollow">^{<cd3>}</a>函数来生成所有的排列;然后只需设置字符串格式:</p>
<pre><code>headers = ['raceid']
values = [raceid]
for perm in itertools.permutations(list(range(1, horses+1)), 3):
headers.append('perm_{}_{}_{}'.format(*perm))
values.append(odds.get(perm, None))
</code></pre>
<p>我假设<code>odds</code>是一个以马的数字元组为键的字典,可能存储在一个由<code>raceid</code>键控的更大的dict中,你可以得到如下结果:</p>
<pre><code>for raceid, pos1, pos2, pos3, value in csv.reader(f):
oddses[raceid][int(pos1), int(pos2), int(pos3)] = value
</code></pre>