從Python 中的生成器或清單中取得前N 個項目
在這個問題中,使用者查詢LINQ 的Python 等效項指令Take(5) 從陣列中檢索前五個元素。為了解決這個請求,提供了多種解決方案。
對列表進行切片
Python 列表可以使用以下語法進行切片:
array[start:stop:step]
其中每個參數都可以省略,從而產生以下有效切片:
例如:
top5 = array[:5]
對生成器進行切片
在Python 中直接對生成器進行切片是不可能的。相反,可以使用itertools.islice() 函數,它接受以下語法:
itertools.islice(generator, start, stop, step)
使用itertools.islice(),您可以獲得生成器的前五個元素:
import itertools top5 = itertools.islice(my_list, 5)
其他注意事項
對發電機進行切片時,您應該注意它會部分耗盡發電機。要保留完整的生成器,請考慮先將其轉換為元組或列表,例如:
result = tuple(generator)
以上是我可以從 Python 中的生成器或清單中檢索前 N 項嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!