Wolfram Computation Meets Knowledge

Wolfram Language:
INTRODUCTION RAPIDE POUR PROGRAMMEURS

Affichez des notes supplémentaires pour:
Toutes les sections 
  • À propos de Wolfram Language
  • Affichez des notes supplémentaires pour:...
  • Notes aux programmeurs Java
  • Notes aux programmeurs Python
  • Masquez les notes supplémentaires
Démarrez

Appliquer des fonctions version vidéo

Il est très courant de vouloir "mapper" une fonction sur plusieurs expressions :

In[1]:=1
Map[f, {a, b, c, d}]
Out[1]=1

Notes aux programmeurs Python :

Map en Wolfram Language est comme map en Python, sauf qu'elle peut fonctionner sur des arbres d'expression arbitraire de n'importe quelle profondeur.


/@ ("slash arobase") est une courte notation pour Map :

In[2]:=2
f /@ {a, b, c, d}
Out[2]=2

Notes aux programmeurs Java :

Map fonctionne de la même manière en Wolfram Language que la méthode Stream.map en Java, sauf que Map peut être appliquée à tout type d'expression.


Ceci utilise une fonction pure :

In[3]:=3
{#, #} & /@ {a, b, c, d}
Out[3]=3

Apply applique une fonction sur plusieurs arguments :

In[1]:=1
Apply[f, {a, b, c, d}]
Out[1]=1

Notes aux programmeurs Python :

Apply est similaire à l'utilisation de l'opérateur de l'étoile de déballage * en Python.


Les expressions ont des "niveaux—correspondant" au nombre d'indices nécessaires pour extraire une partie. Des fonctions comme Map peuvent opérer à des niveaux spécifiques.

Notes aux programmeurs Java :

"Niveaux" est un autre nom pour les dimensions d'un tableau, mais généralisé pour toutes les expressions symboliques. Les opérations multidimensionnelles comme celle-ci ne sont pas intégrées en Java et nécessiteraient normalement des boucles.

Notes aux programmeurs Python :

""Niveaux" est un autre nom pour les dimensions d'un tableau, mais généralisé pour toutes les expressions symboliques. La plupart des fonctions de tableau de Python n'offrent pas la même flexibilité pour fonctionner sur différentes dimensions.

Map opère au niveau 1 par défaut :

In[1]:=1
Map[f, {{a, b}, {c, d}}]
Out[1]=1

Ceci opère seulement au niveau 2:

In[2]:=2
Map[f, {{a, b}, {c, d}}, {2}]
Out[2]=2

@@ équivaut à Apply, opérant par défaut au niveau 0 :

In[1]:=1
f @@ {{a, b}, {c, d}}
Out[1]=1

@@@ signifie "applique au niveau 1" :

In[2]:=2
f @@@ {{a, b}, {c, d}}
Out[2]=2

@ signifie application de fonction ordinaire :

In[3]:=3
f@x
Out[3]=3

Quelle expression évalue à g[{a, b, c}]?


Laquelle des expressions suivantes évalue {{f[a], f[b]}, {f[c], f[d]}}?


Laquelle des expressions suivantes évalue {{{f[a], f[b]}}, {{f[c], f[d]}}}?

© 2021 Wolfram. Tous droits réservés.