g[lists___List] := Module[{f}, f[___, x_, x_, ___] := Sequence[]; f[x___] := (f[x] = Sequence[]; {x}); Attributes[f] = {Orderless, Temporary}; Flatten[Outer[f, lists], Length[{lists}] - 1]] user21
- 42.2k
- 8
- 116
- 176
g[lists___List] := Module[{f}, f[___, x_, x_, ___] := Sequence[]; f[x___] := (f[x] = Sequence[]; {x}); Attributes[f] = {Orderless, Temporary}; Flatten[Outer[f, lists], Length[{lists}] - 1]]