On 9 Nov., 05:49, Alex_Gaynor <[EMAIL PROTECTED]> wrote:
> On Nov 8, 11:36 pm, Kay Schluehr <[EMAIL PROTECTED]> wrote:
>
>
>
> > On 9 Nov., 05:04, Terry Reedy <[EMAIL PROTECTED]> wrote:
>
> > > Have you written any Python code where you really wanted the old,
> > > unpredictable behavior?
>
> > Sure:
>
> > if len(L1) == len(L2):
> >     return sorted(L1) == sorted(L2)  # check whether two lists contain
> > the same elements
> > else:
> >     return False
>
> > It doesn't really matter here what the result of the sorts actually is
> > as long as the algorithm leads to the same result for all permutations
> > on L1 ( and L2 ).
>
> that same thing could be done with a multiset type, which would also
> have better performance(O(n) vs. O(nlogn)).

I guess building a multiset is a little more expensive than just O(n).
It is rather like building a dict from a list which is O(k*n) with a
constant but small factor k. The comparison is of the same order. To
enable the same behavior as the applied sorted() a multiset must
permit unhashable elements. dicts don't do the job.





--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to