def demo(v,l=[]):
l.append(v)
return l
l1=demo(10) #output [10]
l2=demo(21,[])
l3=demo('a')
print('List 1: ', l1) #output=[10]
print('List 2: ', l2) #output=[21]
print('List 3: ', l3) #output=[10,'a']
How is the list updating even if I am using different objects for the function?