Почему в двух списках копятся значения?

Рейтинг: 0Ответов: 0Опубликовано: 06.02.2023

Задача

Решить проблему с накоплением значений в списках new_list_1 и new_list_2 при вызове нескольких раз одной функции, при следующем коде ->

Мой код

class ListNode(object):
     def __init__(self, val=0, next=None):
         self.val = val
         self.next = next
class Solution(object):
    def mergeTwoLists(self, list1, list2, new_list_1 = [], new_list_2 = []):
        """
        :type list1: Optional[ListNode]
        :type list2: Optional[ListNode]
        :rtype: Optional[ListNode]
        """
        def list_to_ListNode(l, d = {}):
            d.clear()
            for num, value in enumerate(l[::-1]):
                d['val'] = value
                if num == 0:
                    d['next'] = None
                    y = ListNode(d['val'], d['next'])
                else:
                    y = ListNode(d['val'], y)
            return y
        if list1 != None:
            for key,value in list1.__dict__.items():
                if isinstance(value, int):
                    new_list_1.append(value)
                else:
                    return self.mergeTwoLists(value, list2)
        if list2 != None:
            for key,value in list2.__dict__.items():
                if isinstance(value, int):
                    new_list_2.append(value)
                else:
                    return self.mergeTwoLists(list1, value)

        total_list = new_list_1 + new_list_2
        total_list.sort()
        total_list = list_to_ListNode(total_list)
        new_list_1 = []
        new_list_2 = []
        return total_list

Примечание

Если вам интересна сама задача, то вот ссылка на неё -> https://leetcode.com/problems/merge-two-sorted-lists Я знаю, как её решить нормальным способом, я хочу понять почему в переменных new_list_1 и new_list_2 лежат даже после:

new_list_1 = [] 
new_list_2 = []

Они продолжают лежать там после при попытке вывести следующий результат. Пробовал многое, но мне ничего не помогло.

Ответы

Ответов пока нет.