Python Deepcopy Checker - PullRequest
       11

Python Deepcopy Checker

0 голосов
/ 18 мая 2018

Я готовлюсь к экзамену на последний год, и кажется, что есть вопрос, который просит меня написать функцию deep_copy_check, которая проверяет, является ли один список глубокой копией другого.Однако я не понимаю, в чем польза условного утверждения предложенного решения, представленного ниже, может ли кто-нибудь объяснить мне, почему необходимо добавить lst1 != lst2?Я чувствую, что if lst1 is lst2 достаточно.

def deep_copy_check(lst1,lst2):
    if lst1 != lst2 or lst1 is lst2:
        return False
    else:
        result = True
        for i in range(len(lst1)):
            if type(lst1[i]) == list:
                result = result and deep_copy_check(lst1[i],lst2[i])
            else:
                result = result and lst1[i] is lst2[i]
        return result
...