如何检测元组列表的错误

2024-04-23 23:59:18 发布

您现在位置: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,2)在(1,1)之后,(1,3)在(1,1)和(1,2)之后

我排序的误差(l1)给出[(1,3),(1,2),(1,1)] 这是错误的,因为它应该给出[(1,1),(1,2),(1,3)],这意味着错误不应该被提出,而错误是被提出的。你知道吗

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


Tags: inselfl1forreturnifisdef