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


Groups > comp.lang.python > #17336

Re: test for list equality

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 2011-12-16 00:32 -0700
Subject Re: test for list equality
Newsgroups comp.lang.python
Message-ID <mailman.3718.1324020764.27778.python-list@python.org> (permalink)

Show all headers | 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