Monday 6 November 2023

Python Coding challenge - Day 62 | What is the output of the following Python code?

 


Code - 

def multipliers():
    return [lambda x, i=i: i * x for i in range(4)]
result = [m(2) for m in multipliers()]
print(result)

Solution -

The code will correctly generate a list of lambda functions that multiply a given value x by the corresponding value of i from the range (0, 1, 2, 3) and then call each of these lambda functions with the argument 2. The correct output will be:

[0, 2, 4, 6]

Here's how it works:

The multipliers function returns a list of lambda functions where each lambda function takes two arguments, x and i. The default argument i=i captures the current value of i from the loop when the lambda function is created.

The list comprehension [m(2) for m in multipliers()] iterates through each lambda function created in the multipliers list and calls it with 2 as the argument. Each lambda function multiplies 2 by its respective i value from the range, resulting in the output [0, 2, 4, 6].

0 Comments:

Post a Comment

Popular Posts

Categories

AI (27) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (118) C (77) C# (12) C++ (82) Course (62) Coursera (180) Cybersecurity (22) data management (11) Data Science (95) Data Strucures (6) Deep Learning (9) Django (6) Downloads (3) edx (2) Engineering (14) Excel (13) Factorial (1) Finance (6) flutter (1) FPL (17) Google (19) Hadoop (3) HTML&CSS (46) IBM (25) IoT (1) IS (25) Java (92) Leet Code (4) Machine Learning (44) Meta (18) MICHIGAN (5) microsoft (4) Pandas (3) PHP (20) Projects (29) Python (753) Python Coding Challenge (232) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (2) Software (17) SQL (40) UX Research (1) web application (8)

Followers

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses