On 15/12/2011 17:49, noydb wrote:
On Dec 15, 11:36 am, noydb<jenn.du...@gmail.com>  wrote:
 I want to test for equality between two lists.  For example, if I have
 two lists that are equal in content but not in order, I want a return
 of 'equal' -- dont care if they are not in the same order.  In order
 to get that equality, would I have to sort both lists regardless?  if
 yes, how (having issues with list.sort)?

 Another way i tried, that I think is kind-of roundabout is like
 x = [2, 5, 1, 88, 9]
 y = [5, 2, 9, 1, 88]
 inBoth = list(set(x)&  set(y))

 and then test that list.count is equal between inBoth and x and/or y.

 Any better suggestions?

 Thanks for any help!

My sort issue... as in this doesn't work
 if x.sort == y.sort:
...     print 'equal'
... else:
...     print 'not equal'
...
not equal


???

.sort is a method which sorts the list in-place and returns None. You
must provide the () if you want to call it, otherwise you just get a
reference to the method:

>>> x
[2, 5, 1, 88, 9]
>>> x.sort
<built-in method sort of list object at 0x00A58508>
>>> x.sort()
>>> x
[1, 2, 5, 9, 88]

There's also a function "sorted" which returns its argument as a sorted
list. The argument itself isn't altered:

>>> y = [5, 2, 9, 1, 88]
>>> sorted(y)
[1, 2, 5, 9, 88]
>>> y
[5, 2, 9, 1, 88]

It's all in the documentation! :-)
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to