class X:
def __init__(self,value,next=None):
self.value = value
self.next = next
def linkedlist(l):
if l == []:
return None
beg = end = X(l[0])
for v in l[1:]:
end.next = X(v)
end = end.next
return beg
lst1 = linkedlist(['one', 'two', 'three'])
lst2 = linkedlist(['one', 'three', 'four'])
Когда я печатаю это, я получаюConfused с функцией печати из этого определения
print(lst1)
<__main__.LN object at 0x102957510>
Я очень смущен, что происходит. Как я могу назвать это определение?
Edit:
Используя этот класс/функции, я пытаюсь создать эту рекурсивную функцию, которая возвращает выходной ли две связанные списки, равны или нет.
def is_same(lst1, lst2):
if ll1.next.value == [] or ll2.next.value == []:
return True
elif ll1.next.value == ll2.next.value:
is_same(ll1.next.value, ll2.next.value)
Я не уверен, как подойти к этой функции, но это то, что я попытался сделать, но, очевидно, приводит к ошибке.
a = linkedlist(['a', 'b', 'c''])
b = linkedlist(['a', 'b', 'c'])
c = linkedlist(['c', 'a', 'b'])
Призвание:
is_same(a, b)
должно привести Правда
но
is_same(a, c)
должно привести к Ложные