Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #17336

Re: test for list equality

Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!newsfeed.freenet.ag!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <ian.g.kelly@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.007
X-Spam-Evidence '*H*': 0.99; '*S*': 0.00; '(python': 0.05; 'subject:test': 0.05; 'am,': 0.12; 'def': 0.13; 'algorithm': 0.13; 'url:software': 0.13; '16,': 0.15; 'amendment': 0.16; 'cc:addr :python-list': 0.16; 'received:74.125.82.44': 0.16; 'received :mail-ww0-f44.google.com': 0.16; 'wrote:': 0.18; 'seems': 0.20; 'cc:no real name:2**0': 0.20; 'subject:list': 0.21; 'dec': 0.22; 'header:In-Reply-To:1': 0.22; '\xa0if': 0.23; 'cc:2**0': 0.24; 'message-id:@mail.gmail.com': 0.28; 'cc:addr:python.org': 0.29; 'pm,': 0.29; 'url:)': 0.29; 'kelly': 0.30; 'thu,': 0.32; 'pretty': 0.32; 'fri,': 0.34; 'received:74.125.82': 0.35; 'but': 0.37; 'received:74.125': 0.37; 'received:google.com': 0.37; 'url:org': 0.39; '2011': 0.61; 'taylor': 0.67; '11:30': 0.84; 'matrix': 0.84; 'hungarian': 0.91
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=TVZ5oZ1t4n86QppTQo2ig0PENKc2qcsU0nIkgW8ZUPQ=; b=CODnpJx3A0OsnYKE/lwcHAwzgk2UTzRSSD0K4H5rg8TQ9LMyPoiih7QOJ75xPH1rjN P5Rh9UX3elv3F86uTlcLaJWgOQpvIJKCqgppaCopRa8jGrX1w8CBBPPtR60zGc0SFg4l mp38IeiUqV0sPLChVmpLRyT4PR9/Z7P2i8Xho=
MIME-Version 1.0
In-Reply-To <CALwzidnN0mTt7fHzOA-zaL7r1+hGyt9hFvp-m+hQ1t0LRQs1aw@mail.gmail.com>
References <45d59336-7e75-4865-8573-56742b37097c@s26g2000yqd.googlegroups.com> <CAO+9iGfN-WnCP0v+-k+JCoZu8QLA5fdkgfENG0W1Nmex6T+d0g@mail.gmail.com> <CALwzidnN0mTt7fHzOA-zaL7r1+hGyt9hFvp-m+hQ1t0LRQs1aw@mail.gmail.com>
From Ian Kelly <ian.g.kelly@gmail.com>
Date Fri, 16 Dec 2011 00:32:11 -0700
Subject Re: test for list equality
To Alec Taylor <alec.taylor6@gmail.com>
Content-Type text/plain; charset=ISO-8859-1
Content-Transfer-Encoding quoted-printable
Cc python-list@python.org
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.12
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <http://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.3718.1324020764.27778.python-list@python.org> (permalink)
Lines 28
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1324020764 news.xs4all.nl 6883 [2001:888:2000:d::a6]:54466
X-Complaints-To abuse@xs4all.nl
Xref x330-a1.tempe.blueboxinc.net comp.lang.python:17336

Show key headers only | View raw


On Fri, Dec 16, 2011 at 12:11 AM, Ian Kelly <ian.g.kelly@gmail.com> wrote:
> On Thu, Dec 15, 2011 at 11:30 PM, Alec Taylor <alec.taylor6@gmail.com> wrote:
>> Just for fun, use the Hungarian Algorithm
>>
>> (Python implementation: http://software.clapper.org/munkres/)
>
> That's a pretty silly approach, but okay:
>
> def listequals(a, b):
>    if len(a) != len(b):
>        return False
>    matrix = [[int(item_a != item_b) for item_b in b] for item_a in a]
>    path = Munkres().compute(matrix)
>    return sum(matrix[r][c] for (r, c) in path) == 0

Amendment -- it seems that Hungarian implementation fails on an empty matrix:

def listequals(a, b):
    if len(a) == len(b) == 0:
        return True
    if len(a) != len(b):
        return False
    matrix = [[int(item_a != item_b) for item_b in b] for item_a in a]
    path = Munkres().compute(matrix)
    return sum(matrix[r][c] for (r, c) in path) == 0

Back to comp.lang.python | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

test for list equality noydb <jenn.duerr@gmail.com> - 2011-12-15 08:36 -0800
  Re: test for list equality noydb <jenn.duerr@gmail.com> - 2011-12-15 09:49 -0800
    Re: test for list equality John Gordon <gordon@panix.com> - 2011-12-15 17:57 +0000
    Re: test for list equality Miki Tebeka <miki.tebeka@gmail.com> - 2011-12-15 09:59 -0800
      Re: test for list equality MRAB <python@mrabarnett.plus.com> - 2011-12-15 18:12 +0000
      Re: test for list equality darnold <darnold992000@yahoo.com> - 2011-12-15 10:12 -0800
      Re: test for list equality Tim Chase <python.list@tim.thechases.com> - 2011-12-15 12:20 -0600
        Re: test for list equality Miki Tebeka <miki.tebeka@gmail.com> - 2011-12-15 10:25 -0800
        Re: test for list equality Miki Tebeka <miki.tebeka@gmail.com> - 2011-12-15 10:25 -0800
      Re: test for list equality Terry Reedy <tjreedy@udel.edu> - 2011-12-15 20:02 -0500
    Re: test for list equality Stefan Behnel <stefan_ml@behnel.de> - 2011-12-15 19:01 +0100
      Re: test for list equality noydb <jenn.duerr@gmail.com> - 2011-12-15 10:07 -0800
        Re: test for list equality Ian Kelly <ian.g.kelly@gmail.com> - 2011-12-15 11:28 -0700
          Re: test for list equality noydb <jenn.duerr@gmail.com> - 2011-12-15 10:32 -0800
    Re: test for list equality MRAB <python@mrabarnett.plus.com> - 2011-12-15 18:06 +0000
  Re: test for list equality MRAB <python@mrabarnett.plus.com> - 2011-12-15 17:54 +0000
  Re: test for list equality Alec Taylor <alec.taylor6@gmail.com> - 2011-12-16 17:30 +1100
  Re: test for list equality Ian Kelly <ian.g.kelly@gmail.com> - 2011-12-16 00:11 -0700
  Re: test for list equality Ian Kelly <ian.g.kelly@gmail.com> - 2011-12-16 00:32 -0700

csiph-web