Comment puis-je extraire les N premiers éléments d'un générateur ou d'une liste en Python ?

Mary-Kate Olsen
Libérer: 2024-10-20 20:08:30
original
811 Les gens l'ont consulté

How Can I Extract the First N Items from a Generator or List in Python?

Comment récupérer les N premiers éléments d'un générateur ou d'une liste ?

En Python, il existe différentes manières d'extraire les N premiers éléments à partir d'une liste ou d'un générateur. Cette réponse fournit une explication complète des différentes approches, établissant des parallèles avec la méthode Take de LINQ pour référence.

1. Découper une liste

Semblable à la méthode Take de LINQ, vous pouvez facilement découper une liste en utilisant la syntaxe suivante :

<code class="python">top5 = array[:5]</code>
Copier après la connexion

Cette notation de tranche vous permet de spécifier les indices de début et de fin. , ainsi qu'une valeur de pas facultative. Vous pouvez omettre n'importe quel paramètre pour obtenir des tranches partielles telles que :

  • array[start:]
  • array[:stop]
  • array[::step]

2. Découper un générateur

Contrairement aux listes, les générateurs ne peuvent pas être directement découpés en Python. Au lieu de cela, vous pouvez utiliser la fonction itertools.islice() pour envelopper un générateur dans un générateur de découpage. La syntaxe est la suivante :

<code class="python">import itertools
top5 = itertools.islice(my_list, 5) # grab the first five elements</code>
Copier après la connexion

Rappelez-vous que découper un générateur l'épuise partiellement. Si vous souhaitez conserver l'intégralité du générateur, pensez d'abord à le convertir en tuple ou en liste :

<code class="python">result = tuple(generator)</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal