For a list, the order of the elements in the result will be the same as in the original list v.
For a hash table, the function is applied to each value. This may change, for perhaps it should be applied to the key/value pair. The hash table should be immutable: to scan the values in a mutable hash table, use scan(values x, f).
i1 : select({1,2,3,4,5}, odd) |
i2 : select(2,{1,2,3,4,5}, odd) |
See also scan, apply, any, all, member, and mutable.