69 votes

Initialiser le tableau numpy de longueur inconnue

Je veux pouvoir « construire » un tableau numérique à la volée, je ne connais pas la taille de ce tableau à l’avance.

Par exemple, je veux faire quelque chose comme ceci:

Ce qui aboutirait à un contenant tous les éléments de x, évidemment c’est une réponse triviale. Je suis juste curieux de savoir si c’est possible?

109voto

larsmans Points 167484

Créez une liste Python et convertissez-la en tableau Numpy. Cela prend du temps O(1) amorti par append + O(n) pour la conversion en tableau, pour un total de O(n).

17voto

alexisdm Points 16064

Vous pouvez le faire :

7voto

Mr_and_Mrs_D Points 4569

Puisque y est un irable je ne vois vraiment pas pourquoi les appels à ajouter:

fera l’affaire et c’est beaucoup plus rapide:

1voto

BenDundee Points 1392

Pour la postérité, je pense que c’est plus rapide :

Vous pourriez même être en mesure de passer dans un générateur (c’est-à-dire [] -> ()), auquel cas la liste interne n’est jamais entièrement stockée en mémoire.


Réponse au commentaire ci-dessous :

0voto

chiefenne Points 188
a = np.empty(0)
for x in y:
    a = np.append(a, x)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X