Re: Lists of all values of a two-variable function
- To: mathgroup at smc.vnet.net
- Subject: [mg64745] Re: Lists of all values of a two-variable function
- From: Martin Johansson <martin.n.johansson_LookMa_NoSpam_ at ericsson.com>
- Date: Thu, 2 Mar 2006 06:47:30 -0500 (EST)
- References: <du3vcn$mjd$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
José Carlos Santos wrote:
>
> I would like to do this: given a function _f_ in two variables and two
> lists l1 and l2, to get the list of all values f[a,b] with _a_ in l1 and
> _b_ in l2, with all duplicated values removed. How do I do that?
>
> The closest thing that I am able to do is:
>
> Table[f[l1[[i]],l2[[j]]],{i,1,Length[l1]},{j,1,Length[l2]}]
>
> but, of course:
>
> 1) what I get is a list of lists;
> 2) I eventually get duplicated values.
Use
'Union' to remove duplicates (in argument lists);
'Outer' to get all combinations of arguments from lists;
'Flatten' to get "one list".
Example:
l1={1,1,2,3,1};
l2={"a","b","a","b"};
Outer[f,Union[l1],Union[l2]]//Flatten
{f[1, a], f[1, b], f[2, a], f[2, b], f[3, a], f[3, b]}
HTH if this is what you wanted,
m