ホームページ >バックエンド開発 >Python チュートリアル >Python のジェネレーターまたはリストから上位 N 項目を取得できますか?
Python のジェネレーターまたはリストから上位 N 項目を取得する
この質問では、ユーザーは Python の LINQ に相当するものについて問い合わせています。コマンド Take(5) を使用して、配列から最初の 5 つの要素を取得します。この要求に対処するために、複数のソリューションが提供されています。
リストのスライス
Python リストは、次の構文を使用してスライスできます:
array[start:stop:step]
各パラメータは省略でき、次の有効なスライスになります:
例:
top5 = array[:5]
ジェネレーターのスライス
Python でジェネレーターを直接スライスすることはできません。代わりに、次の構文を受け入れる itertools.islice() 関数を使用できます:
itertools.islice(generator, start, stop, step)
itertools.islice() を使用すると、ジェネレーターの最初の 5 つの要素を取得できます:
import itertools top5 = itertools.islice(my_list, 5)
追加の考慮事項
ジェネレーターをスライスするときは、部分的に消耗することに注意してください。ジェネレーターをそのままの状態で保存するには、最初にジェネレーターを次のようなタプルまたはリストに変換することを検討してください。
result = tuple(generator)
以上がPython のジェネレーターまたはリストから上位 N 項目を取得できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。