擅长:python、mysql、java
<p>为什么不创建一个函数,在所提供的iterable的两边产生“start”和“end”。你知道吗</p>
<pre><code>def markedrange(iterable, markers=('start', 'end')):
yield markers[0]
yield from iterable
yield markers[1]
print(list(markedrange(range(10))))
print(list(markedrange(['a', 'b', 'c', 'd'], markers=('hi', 'bye'))))
</code></pre>
<p>结果:</p>
<pre><code>['start', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'end']
['hi', 'a', 'b', 'c', 'd', 'bye']
</code></pre>
<p>如果您使用的是较旧的python版本,并且没有<code>yield from</code>,那么应该在循环中进行屈服。你知道吗</p>
<p>例如</p>
<pre><code>for i in iterable:
yield i
</code></pre>