Wolfram Computation Meets Knowledge

Wolfram Language:
Introducción rápida para programadores

Mostrar notas adicionales para:
Todas las secciones 
  • Acerca de Wolfram Language
  • Mostrar notas adicionales para...
  • Mostrar notas para Java
  • Mostrar notas para Python
  • Ocultar notas adicionales
Comience ya

Aplicación de funciones Versión de video

Es muy común querer "mapear" una función sobre múltiples expresiones:

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

Notas para programadores de Python:

Map en Wolfram Language es como map en Python, excepto que opera en árbores de expresiones arbitrarias de cualquier profundidad.


/@ ("slash at") es una notación corta para Map:

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

Notas para programadores de Java:

Map en Wolfram Language funciona de forma similar al método Stream.map en Java, excepto que Map puede aplicarse a cualquier tipo de expresión.


Esta usa una función pura:

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

Apply aplica una función sobre múltiples argumentos:

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

Notas para programadores de Python:

Apply en Wolfram Language es similar al operador de desembalaje * en Python.


Las expresiones tienen "niveles", que corresponden al número de índices necesarios para extraer una parte. Las funciones como Map pueden operar en niveles específicos.

Notas para programadores de Java:

"Niveles" es otro nombre para las dimensiones de un arreglo, pero generalizado para todas las expresiones simbólicas. Las operaciones multidimensionales como ésta no están incorporadas en Java y generalmente se realizan por medio de circuitos.

Notas para programadores de Python:

"Niveles" son como las dimensiones de un arreglo, pero generalizado para todas las expresiones simbólicas. Las funciones de arreglo de Python generalmente son configuradas solo para arreglos unidimensionales.

Map de forma predeterminada opera en el nivel 1:

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

Ésta opera sólo en el nivel 2:

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

@@ equivale a Apply, la cual opera de manera predeterminada en el nivel 0:

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

@@@ significa "aplique en el nivel 1":

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

@ significa aplicación ordinaria de función:

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

¿Cuál de las siguientes expresiones evalúa en g[{a, b, c}]?


¿Cuál de las siguientes expresiones evalúa en {{f[a], f[b]}, {f[c], f[d]}}?


¿Cuál de las siguientes opciones evalúa en {{{f[a], f[b]}}, {{f[c], f[d]}}}?

© 2020 Wolfram. Todos los derechos reservados.