Sunday, 11 May 2025

Python Coding challenge - Day 471| What is the output of the following Python Code?


 Code Explanation:

 Line 1 – Create an empty list
funcs = []
Initializes an empty list named funcs.

This list will be used to store functions (lambdas).

 Lines 2–3 – Append lambdas inside a loop

for i in range(3):
    funcs.append(lambda: i)
range(3) gives i = 0, 1, 2

Each time, a lambda function is created and added to the list.

BUT: The lambda captures i by reference, not value.

This means all the lambdas share the same i, which changes during each loop iteration.

After the loop ends, i = 2, and all lambdas "remember" that final value.

 Line 4 – Call all stored functions
results = [f() for f in funcs]
This calls each lambda in funcs.

Since all lambdas reference the same variable i, and i == 2 after the loop:

Each f() returns 2

 Line 5 – Print the result
print(results)

Output:
[2, 2, 2]


0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (152) Android (25) AngularJS (1) Api (6) Assembly Language (2) aws (27) Azure (8) BI (10) Books (251) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (298) Cybersecurity (28) Data Analysis (24) Data Analytics (16) data management (15) Data Science (217) Data Strucures (13) Deep Learning (68) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (17) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (47) Git (6) Google (47) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (41) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (186) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (11) PHP (20) Projects (32) Python (1218) Python Coding Challenge (884) Python Quiz (342) Python Tips (5) Questions (2) R (72) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (19) SQL (45) Udemy (17) UX Research (1) web application (11) Web development (7) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)