0

Why q2 have the same items with q1?

Isn't it created with items=[]?

class A:
  def __init__(self, value: int) -> None:
      self.value = value

class Queue:
  def __init__(self, items=[]) -> None:
    self.items: list = items

  def isEmpty(self) -> bool:
    return len(self.items) <= 0

  def size(self) -> int:
    return len(self.items)

  def enqueue(self, item) -> None:
    self.items.insert(0, item)

  def dequeue(self):
    return self.items.pop()

q1 = Queue()
a = A(1)
q1.enqueue(a)

q2 = Queue()
print(q1.items, "\n", q2.items)
print(q1.items[0].value, q2.items[0].value)

# output
# [<__main__.A object at 0x000001FD0FB20550>]
#  [<__main__.A object at 0x000001FD0FB20550>]
# 1 1
Animeta
  • 1,072
  • 3
  • 14
  • 26

0 Answers0