Skip to content Skip to sidebar Skip to footer

How Can Python Function Actually Change The Parameter Rather Than The Formal Parameter?

I am trying to code '1024' using python basic library. In the process I try to make a list [0, 2, 4, 4] become [0, 2, 8, 0]. So here is my test code. It's very easy one. def me

Solution 1:

You can pass the list and indexes to the function:

def merger(l, a, b):
    if l[a] == l[b]:
        l[a] += l[b]
        l[b] = 0

numlist = [0, 2, 4, 4]
merger(numlist, 0, 1)
merger(numlist, 1, 2)
merger(numlist, 2, 3)
print(numlist)

As list object will be passed by reference and any changes on the list inside the function will be effective after the function call.

Post a Comment for "How Can Python Function Actually Change The Parameter Rather Than The Formal Parameter?"