如何检测元组列表的错误

时间:2012-08-22 20:38:07

标签: python

l1 = [[(1,1), (1,2), (1,3)]]

for e in l1:
  for i, c in enumerate(e):
     n = re.search(r'(\d,\d)', c)
     if n:
        num = [int(y) for y in c.split(',')]
        print "num is ", num

        e[i] = Sequence_element(num[0], num[1])

if sorted(l1) != l1:
    raise ValueError, 'l1 is not in sequence' 


class Sequence_element(object):

   def __init__(self, first_elem, second_elem):
       self._first_elem = first_elem
       self._second_elem = second_elem


   def first_elem(self):
       return self._first_elem

   def second_elem(self):
      return self._second_elem

此代码用于确保(1,1)在(1,1)和(1,3)之后到达(1,1)和(1,2)

我排序的错误(l1)给出[(1,3),(1,2),(1,1)] 这是错误的,因为这应该给[(1,1),(1,2),(1,3)]这意味着不应该引发错误而引发错误。

l1的每个元素都是由另一个类的帮助形成的,这可能是这个排序函数不起作用的原因。什么是可能的解决方案?

1 个答案:

答案 0 :(得分:0)

我将(l1)输出排序为[(1,1),(1,2),(1,3)],并且排序(l1)等于l1。我没有收到任何错误。