Mar-27-2017, 12:03 PM
(This post was last modified: Mar-27-2017, 12:06 PM by Ponomarenko Pavlo.)
>>> a = [1, 2, 4, 5] >>> def az(): x * 2 >>> q = map(az, [2, 3, 4]) >>> list(q) [None, None, None]
I don't understand this result
|
Mar-27-2017, 12:03 PM
(This post was last modified: Mar-27-2017, 12:06 PM by Ponomarenko Pavlo.)
>>> a = [1, 2, 4, 5] >>> def az(): x * 2 >>> q = map(az, [2, 3, 4]) >>> list(q) [None, None, None]
Mar-27-2017, 12:04 PM
You forgot to return the value computed in your function:
>>> def az(x): ... return x*2 ... >>> q = map(az, [2, 3, 4]) >>> list(q) [4, 6, 8]
This code is incomplete.
the definition of az is was missing it's body ok now
Mar-27-2017, 12:10 PM
just to mention that there is no need to explicitly convert the result to list
>>> def az(x): return x*2 >>> q = map(az, [2, 3, 4]) >>> q [4, 6, 8]
Mar-27-2017, 01:53 PM
(Mar-27-2017, 12:10 PM)buran Wrote: just to mention that there is no need to explicitly convert the result to listPython 3 has changed a lot buran ![]() # Python 3.6 >>> def az(x): ... return x*2 ... >>> q = map(az, [2, 3, 4]) >>> q <map object at 0x049C8EB0> >>> list(q) [4, 6, 8] # Python 2.7 >>> def az(x): ... return x * 2 ... >>> q = map(az, [2, 3, 4]) >>> q [4, 6, 8]Built-ins like range, map, zip, filter become iterables in 3.x to conserve space, rather than producing a result list all at once in memory.
Mar-27-2017, 02:04 PM
|
|
Possibly Related Threads… | |||||
Thread | Author | Replies | Views | Last Post | |
Two same codes, different result. Please help to understand. | vickyprabhat | 5 | 4,714 |
Mar-24-2018, 11:33 PM Last Post: vickyprabhat |
|
I don't understand this result | Ponomarenko Pavlo | 3 | 4,644 |
Jan-15-2017, 04:40 PM Last Post: Kebap |