擅长:python、mysql、java
<h2>来自官方文件的解决方案</h2>
<p>如果您参考官方文档中的<a href="https://docs.python.org/3/library/itertools.html#itertools-recipes" rel="nofollow noreferrer">Itertools Recipes</a>,那么有一个由<code>n</code>块进行迭代的示例。我们可以成对地迭代原始<code>dict</code>的键,并创建所需的<code>list</code>的<code>dict</code></p>
<h3>Itertools配方中的原始石斑鱼方法</h3>
<pre class="lang-py prettyprint-override"><code>def grouper(iterable, n, fillvalue=None):
"Collect data into fixed-length chunks or blocks"
# grouper('ABCDEFG', 3, 'x') > ABC DEF Gxx"
args = [iter(iterable)] * n
return zip_longest(*args, fillvalue=fillvalue)
</code></pre>
<h3>对成对方法的修改</h3>
<pre class="lang-py prettyprint-override"><code>def pairwise(iterable, fillvalue=None):
args = [iter(iterable)] * 2
return zip_longest(*args, fillvalue=fillvalue)
</code></pre>
<h3>迭代对并创建dict列表</h3>
<pre class="lang-py prettyprint-override"><code>output = []
for key_one, key_two in pairwise(source_dict.keys()):
output.append({key_one: source_dict[key_one], key_two: source_dict[key_two]})
</code></pre>
<h3>旁注</h3>
<p>正如评论所建议的,如果可能的话,您可能需要重新考虑如何读取数据</p>