Python Forum
Need help understanding return statement
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Need help understanding return statement
#1
Hi Guys,

Am new to Python, came across a strange looking piece of code as below....

I checked and it works but I am not understanding the return statement. Can you please help.....


def v_add(v, w):
   return [v_i + w_i for v_i, w_i in zip(v, w)]
can any one please elaborate the return statement here in depth?

Thanks,
PL
Reply
#2
It's a comprehension. A list comprehension in particular.
Reply
#3
In order to properly answer, need to see more code, specifically what the call to the function looks like,
v & w
Reply
#4
Is it a function to add two vectors? List comprehension could be rewritten as a for loop:

def v_add(v, w):
    result = []
    for v_i, w_i in zip(v, w):
        result.append(v_i + w_i)

        # print only to show what is going on
        print("v_i = {}, w_i = {}, result = {}".format(v_i, w_i, result))
    return result
zip() is a built-in function that "zips" its argument(s), it yields tuples of i-th elemens of its arguments - for example when iterating over zip([1,2,3], [4,2,2]), it gives (1,4), (2, 2), (3, 2).  Those tuples are unpacked into v_i and w_i variables. 

Example run:
Output:
>>> v = [1, 2, 3] >>> w = [4, 2, 2] >>> v_add(v, w) v_i = 1, w_i = 4, result = [5] v_i = 2, w_i = 2, result = [5, 4] v_i = 3, w_i = 2, result = [5, 4, 5] [5, 4, 5]
Reply
#5
Yes Zivoni, this is addition of two Vectors.

Thanks a lot every one for your help. 

Am quite an experienced programmer but some how Python is proving tricky for me. There are too many ways of achieving an outcome in it. 
Am looking for a book which will teach Python is a very simple way..checked books such a a byte of python, python the hard way, core python etc.. but still not able to get the grip.

Thanks,
PL
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
Question Common understanding of output processing with conditional statement neail 6 823 Sep-17-2023, 03:58 PM
Last Post: neail
  Need help with Return statement Columbo 13 2,164 Sep-17-2022, 04:03 PM
Last Post: Columbo
  How to invoke a function with return statement in list comprehension? maiya 4 2,746 Jul-17-2021, 04:30 PM
Last Post: maiya
  syntax error on return statement l_butler 5 3,025 May-31-2020, 02:26 PM
Last Post: pyzyx3qwerty
  return statement will not work TheTechRobo 2 2,586 Mar-30-2020, 06:22 PM
Last Post: TheTechRobo
  HELP! Return Statement Debugging HappyMan 5 3,056 Jan-27-2020, 07:31 PM
Last Post: michael1789
  Embedding return in a print statement Tapster 3 2,232 Oct-07-2019, 03:10 PM
Last Post: Tapster
  return statement usage SB_J 3 2,389 Jul-16-2019, 07:24 PM
Last Post: snippsat
  I don't understand this return statement 357mag 4 2,703 Jul-10-2019, 07:02 PM
Last Post: perfringo
  Return Statement in Python IDLE editor NMW 10 10,453 Jul-11-2017, 09:47 PM
Last Post: NMW

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020