<p>如果您只是想每两个打印一个数字,您可以简单地运行以下操作:</p>
<pre><code>def rozpocitavadlo(s):
to_print = s[::2]
print(to_print)
</code></pre>
<p>在<code>[1::2]</code>中添加<code>1</code>迭代过程将从跳过第一个元素的第二个元素开始,如下所示:</p>
<pre><code>def rozpocitavadlo(s):
to_print = s[1::2]
print(to_print)
</code></pre>
<p>如果还希望重新开始并将跳过的元素添加到最终列表中,则可以先添加偶数,然后添加奇数:</p>
<pre><code>def rozpocitavadlo(s):
to_print = s[1::2]
to_print.extend(s[0::2])
print(to_print)
</code></pre>
<p>您的结果将是:<code>[1, 3, 5, 0, 2, 4]</code>
<br/></p>
<p>您可以深化<a href="https://stackoverflow.com/questions/509211/understanding-slice-notation">here</a>切片表示法,该表示法允许您迭代自定义数量的元素列表
<br/></p>
<p>显然,正如@vishal gahlot所说,您可以通过向函数添加<code>Nth</code>参数来参数化要跳过的元素数</p>
<pre><code>def rozpocitavadlo(s, Nth: int):
to_print = s[::Nth]
print(to_print)
</code></pre>
<p><strong>FINAL:</strong>对于以<code>Nth</code>作为参数的更灵活的实现,您可以在原始列表上反复迭代,直到每个元素都添加到新列表中:</p>
<pre><code>def rozpocitavadlo(s, nth: int):
to_print = []
for i in reversed(range(nth)):
to_print.extend(s[i::nth])
print(to_print)
</code></pre>
<p><strong>评论后更新:</strong>这样您将得到偶数,删除它们,然后在剩余元素上重复,直到最后一个剩余:</p>
<pre><code>def rozpocitavadlo(s):
to_print = []
while len(s) > 0:
if len(s) == 1:
to_print.extend(s[:])
break
to_print.extend(s[1::2])
del s[1::2]
print(to_print)
</code></pre>
<p>您的输出将是:<code>[1, 3, 5, 2, 4, 0]</code></p>