Function of adding two lists in Python

Advertisements

whenever I run following code of adding two lists in python below mentioned error appears

    def add_lists(L1, L2):
        R = []
        for i in range(0, len(L1)):
            R.append(L1[i]+L2[i])
        return R

    L2 = [3, 3, 3, 3]
    L1 = [1, 2, 3, 4]
    add_lists(L1, L2)
    print("Resultant list of: ", str(L1), '& ' + str(L2), 'is', R)

this code yields NameError: name ‘R’ is not defined

>Solution :

The variable R is local to your function and so is not accessible to your print statement. (Generally, this is good! It makes the function self-contained and avoids dependencies on what global variables may or may not exist.)

To print the result of the function, assign the result to an in-scope variable and use that.

def add_lists(L1, L2):
    R = []
    for i in range(0, len(L1)):
        R.append(L1[i]+L2[i])
    return R

L2 = [3, 3, 3, 3]
L1 = [1, 2, 3, 4]
res = add_lists(L1, L2)  # assigns the result of the function call to a variable we can access
print("Resultant list of: ", str(L1), '& ' + str(L2), 'is', res)

Leave a ReplyCancel reply