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 的每个元素都是在另一个类的帮助下形成的,这可能是这个排序函数不起作用的原因。可能的解决方案是什么?