URL: https://linuxfr.org/forums/programmation-python/posts/utilisation-de-numpyarray-ou-des-built-in-lists Title: Utilisation de numpy.array ou des built-in lists Authors: vermillon Date: 2009年03月18日T00:42:19+01:00 Tags: Score: 1 Bonjour à tous, dans le cadre d'un projet, je dois lire un fichier qui contient des entiers (un entier par ligne) et stocker ces entiers dans un « tableau ». Le plus naturel m'a paru être de les stocker dans des objets lists fournis avec python. Cependant, la personne qui m'encadre sur ce projet me demande d'utiliser des ndarray du module numpy (la dimension de la liste étant de 1, c'est plutôt un 1darray donc). Après avoir modifié mon programme pour qu'il passe fasse usage des numpy.array, il est beaucoup plus lent, ce que j'ai imputé au fait que je n'ai pas trouvé, comme pour les listes, de méthode append qui ajouterait un élément à la fin de mon array, mais seulement la fonction append qui retourne un array contenant la nouvelle valeur à la fin, et que j'affecte alors de nouveau à mon objet. Cette manière de faire me paraît tout à fait contre-productive, puisqu'au lieu d'un simple append(), je dois faire une affectation à chaque fois. J'ai alors pensé, à partir de mon fichier, à créer une liste, puis une fois créée (tous les append() réalisés) en faire un numpy.array. C'est mieux, mais toujours 2 à 3 fois plus long (sur mon test) que ma méthode initiale sans numpy. Malgré mes recherches, je n'ai rien trouvé dans numpy qui permette un ajout "en place" dans un array. Quelqu'un saurait-il si cela existe, ou s'il y a une meilleure méthode? J'aimerais également un avis quant à la pertinence de l'utilisation de numpy ici, sachant que dans la suite du projet (je ne suis qu'au début), les objets manipulés seront des graphes (n'ayant pas vraiment de connaissances dans ce domaine, je ne sais sous quelle forme ils seront stockés). Que peut donc m'apporter numpy dans de telles circonstances? Merci d'avance

AltStyle によって変換されたページ (->オリジナル) /