best way to compare contents of 2 lists?
ebonak at hotmail.com
Fri Apr 24 03:51:42 CEST 2009
David Robinow wrote:
> On Thu, Apr 23, 2009 at 9:31 PM, Esmail <ebonak at hotmail.com> wrote:
>> What is the best way to compare the *contents* of two different
>> lists regardless of their respective order? The lists will have
>> the same number of items, and be of the same type.
>> E.g. a trivial example (my lists will be larger),
>> a=[1, 2, 3]
>> b=[2, 3, 1]
>> should yield true if a==b
>> I suppose I could sort them and then compare them. I.e.,
>> I am wondering if there is a more efficient/preferred way to do so.
> set(a) == set(b) # test if a and b have the same elements
> # check that each list has the same number of each element
> # i.e. [1,2,1,2] == [1,1,2,2], but [1,2,2,2] != [1,1,1,2]
> for elem in set(a):
> a.count(elem) == b.count(elem)
Ah .. this part would take care of different number of duplicates
in the lists. Cool.
More information about the Python-list