Applying Functions to Lists
Many computations are conveniently specified in terms of applying functions in parallel to many elements in a list. The Wolfram Language provides a suite of elegant functional programming constructs for doing this. In the Wolfram Language, mathematical functions are automatically taken to be "listable", so that they are always applied to every element in a list.
Map (/@) — map a function over a list, at specified levels
Apply (@@) — apply a function to a list, at specified levels
MapApply (@@@) — apply a function to the elements of a list
MapIndexed — map a function, including index information
MapAt — map a function at particular positions
Scan — scan over every element of a list, applying a function
Multi-Element Mapping
BlockMap — map a function onto blocks of elements in a list
SubsetMap — apply a function "in place" to subsets of elements
ArrayFilter — apply a function to neighborhoods in an array
Array Reduction
ArrayReduce — reduce an array by applying a function along a certain dimension
FoldList — successively apply a function, "folding in" elements from a list
ComposeList ▪ Outer ▪ Inner ▪ Accumulate ▪ Differences ▪ Ratios
MapThread — map a function across corresponding elements in multiple lists
Thread — "thread" a function across lists that appear in its arguments
Listable — attribute for any function to automatically thread over lists
Dataset — set up a nested list to be manipulated as a structured dataset