如何從生成器或清單中擷取前 N 個項目?
在 Python 中,有多種方法可以提取前 N 個元素來自列表或生成器。這個答案對不同的方法進行了全面的解釋,並與 LINQ 的 Take 方法進行了比較,以供參考。
1.切片列表
與LINQ 的Take 方法類似,您可以使用以下語法輕鬆地對清單進行切片:
<code class="python">top5 = array[:5]</code>
此切片表示法可讓您指定開始和停止索引,以及可選的步長值。您可以省略任何參數來取得部分切片,例如:
2。將生成器切片
與清單不同,生成器在 Python 中無法直接進行切片。相反,您可以使用 itertools.islice() 函數將生成器包裝在切片產生器中。語法如下:
<code class="python">import itertools top5 = itertools.islice(my_list, 5) # grab the first five elements</code>
請記住,對生成器進行切片會部分耗盡它。如果您希望保留整個生成器,請考慮先將其轉換為元組或清單:
<code class="python">result = tuple(generator)</code>
以上是如何從 Python 中的生成器或清單中提取前 N 項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!