Tout sur les tableaux en python

Le problème exposé dans ce sujet a été résolu.

Ça dépend un peu du type de calcul mais les array de numpy sont la référence. Je ne sais pas pourquoi tu parle de scipy qui ne fait que rajouter des fonctions à numpy (mais le type derrière c'est celui de numpy), slice c'est une technique, pas un type et map est pour moi une fonction.

Peux tu préciser un peu mieux ta demande ? Que recherche tu vraiment ? Et même mieux, que compte tu en faire.

Disons que j'apprends sur le tas, donc je n'ai pas de point de départ. Admettons que je veuille faire un jeu d'échec. La représentation de l'échiquier et le déplacement des pièces. Les slices suffiraient-ils ou numpy est il vraiment nécessaire ? Merci pour vos conseils.

Salut,

Si tu veux faire un jeu d’échec, les listes devraient suffire, numpy est surtout là pour le calcul numérique, il facilite beaucoup les opérations sur les tableaux (rotations, application d’une fonction à tous les éléments, additions, produit, etc.)

+0 -0

Les slices ce n'est pas un type (ou alors on parle pas de la même chose). C'est la notation [1:2]. Et elle peut être utilisée autant avec les listes python qu'avec les tableaux numpy (les possibilités avec un tableau numpy sont d'ailleurs bien plus importante)

Dans un tel cas, tu devrais probablement utiliser les listes python car tu va y mettre des objets hétérogènes qui seront probablement des types à part. Et la taille est vraiment faible.

Un array numpy tu l'utilise plus pour du calcul numérique. Quand tu dois stocker et traiter tout un tas de nombres en même temps.

Les slices ce n'est pas un type (ou alors on parle pas de la même chose). C'est la notation [1:2].

Juste sur ce point, bien sur que les slices sont un type. Un type simple avec seulement trois attributs start, stop et step qui ne sert pas à grand chose seul, mais un type quand même.

Les notations obj[a:b:c] sont juste du sucre pour obj.__getitem__(slice(a,b,c)). Une manière de s'en convaincre facilement :

1
2
3
class Toto:
    def __getitem__(self, item):
        return type(item)

et print(Toto()[1:2]) affiche bien <class 'slice'>.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte