Re: Is there any efficient easy way to compare two lists with the same length with Mathematica?
- To: mathgroup at smc.vnet.net
- Subject: [mg124410] Re: Is there any efficient easy way to compare two lists with the same length with Mathematica?
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Thu, 19 Jan 2012 05:06:27 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
a == b and a === b evaluate before Thread has a chance to act. The others do not. a < b a > b a == b a === b {1, 2, 3} < {3, 2, 1} {1, 2, 3} > {3, 2, 1} False False Bobby On Wed, 18 Jan 2012 04:58:07 -0600, James Stein <mathgroup at stein.org> wrote: > I learned something from the answer(s) on this thread, leading to a > question of my own: Why do 'Equal' and 'SameQ' respond differently > from 'Greater' and 'Less' ? e.g.: > > a = {1, 2, 3}; > b = {3, 2, 1}; > Thread[a < b] > Thread[a == b] > Thread[a === b] > Thread[b < a] > > On Tue, Jan 17, 2012 at 4:01 AM, Bill Rowe <readnews at sbcglobal.net> > wrote: > >> On 1/17/12 at 3:34 AM, aoirex at gmail.com (Rex) wrote: >> >> >Given two lists `A={a1,a2,a3,...an}` and `B={b1,b2,b3,...bn}`, I >> >would say `A>=B` if and only if all `ai>=bi`. >> >> >There is a built-in logical comparison of two lists, `A==B`, but no >> >`A>B`. Do we need to compare each element like this >> >> >And@@Table[A[[i]]>=B[[i]],{i,n}] >> >> I think you do need to do an element by element comparison. But >> you don't need to specifically select each element using Part as >> you are doing. That is: >> >> In[13]:= {a, b} = RandomInteger[100, {2, 5}]; >> And @@ Thread[a > b] >> >> Out[14]= False >> >> In[15]:= c = RandomInteger[{150, 200}, 5]; >> And @@ Thread[c > a] >> >> Out[16]= True >> >> >> -- DrMajorBob at yahoo.com