RE: List Comparison

• To: mathgroup at smc.vnet.net
• Subject: [mg67179] RE: [mg67141] List Comparison
• From: "David Park" <djmp at earthlink.net>
• Date: Sun, 11 Jun 2006 02:18:36 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```I don't know what you mean by "the difference from the list1 perspective"
and my result two does not agree with your sample result. Nevertheless,
straightening up the definition if I used the wrong one, you can proceed as
follows...

list1 = {{1, aa, 565}, {1, bb, 566}, {1, cc, 546}, {2, dd, 56}, {2, ff,
56}, {2, ss, 5}};
list2 = {{1, aa, 34}, {1, bb, 66}, {1, cc, 5443}, {2, dd, 76}, {2, ff,
87}, {2, mm, 87}};

result1[{a1_, b1_, c1_}, {a2_, b2_, c2_}] :=
If[a1 === a2 && b1 === b2, {a1, b1, c1, c2},
Unevaluated[Sequence[]]]

result2[{a1_, b1_, c1_}, {a2_, b2_, c2_}] :=
If[(a1 =!= a2 || b1) =!= b2, {a1, b1, c1 - c2},
Unevaluated[Sequence[]]]

result3[{a1_, b1_, c1_}, {a2_, b2_, c2_}] :=
If[(a1 =!= a2 || b1) =!= b2, {a2, b2, c2 - c1},
Unevaluated[Sequence[]]]

{{1, aa, 565, 34}, {1, bb, 566, 66}, {1, cc, 546, 5443}, {2, dd, 56, 76},
{2,
ff, 56, 87}}

{{2, ss, -82}}

{{2, mm, 82}}

David Park

From: LectorZ [mailto:lectorz at mail.ru]
To: mathgroup at smc.vnet.net

Dear experts,

I want to compare two lists containing sublists and make out of them 3
result lists.
The comparison applies to the first two elements of the sublists.

list1 = {{1, aa, 565}, {1, bb, 566}, {
1, cc, 546}, {2, dd, 56}, {2, ff, 56}, {2, ss, 5}}
list2 = {{1, aa,
34}, {1, bb, 66}, {1, cc, 5443}, {2, dd, 76}, {2, ff, 87}, {2, mm,
87}}

Result ONE should be:

If the FIRST element AND the SECOND elements of the sublists are equal,
then prepend the THIRD elements from list2.

result1={{1, aa, 565, 34}, {1, bb, 566, 66}, {
1, cc, 546, 5443}, {2, dd, 56, 76}, {2, ff, 56, 87}}

Result TWO should be:
the FIRST element OR the SECOND elements of the sublists are NOT equal,
then display the difference from the list1 perspective

result2={{2, ss, 5}}

Result THREE should be:
the FIRST element OR the SECOND elements of the sublists are NOT equal,
then display the difference from the list2 perspective
result3={{2, mm, 87}}

LZ

```

• Prev by Date: Re: List Comparison
• Next by Date: RE: Simple question from a biologist
• Previous by thread: Re: List Comparison
• Next by thread: Re: List Comparison