#test.py
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
if __name__ == "__main__":
linked_list1 = ListNode(1, None)
linked_list2 = ListNode(2, None)
object = None
object, object.next, object = linked_list1, linked_list2, object # 다중할당
print(object)
정답은 None이다. 다중할당 과정을 살펴보자.
우변의 값들은 모두 기존값이다. 즉, linked_list1, linked_list2, None는 각 ListNode(1, None), ListNode(2, None), None 이다.
왼쪽부터 차례로 할당된다.
object = linked_list1 -> object: 1->None
object.next = linked_list2 -> object: 1->2->None
object = None -> object: None
정리하면, 다중할당은 2가지만 기억하자.
1. 할당할 값들은 고정된 기존값이다.
2. 왼쪽 변수부터 차례대로 할당된다.