Thursday, 27 November 2025

Python Coding Challenge - Question with Answer (ID -281125)

 


Step-by-Step Explanation

✅ 1. Create an Empty List

funcs = []

This list will store functions (lambdas).


✅ 2. Loop Runs 3 Times

for i in range(3):

The values of i will be:

0 → 1 → 2

✅ 3. Lambda Is Appended Each Time

funcs.append(lambda: i)

⚠️ Important:
You are NOT storing the VALUE of i,
You are storing a function that will return i later.

So after the loop:

  • funcs[0] → returns i

  • funcs[1] → returns i

  • funcs[2] → returns i

All three lambdas refer to the SAME variable i.


✅ 4. Final Value of i

After the loop finishes:

i = 2

✅ 5. Calling All Functions

print([f() for f in funcs])

This executes:

f() → returns i → which is 2

So all functions return:

[2, 2, 2]

✅ ✅ Final Output

[2, 2, 2]

Why This Happens? (Late Binding)

Python lambdas:

  • Do NOT remember the value

  • They remember the variable reference

  • Value is looked up only when the function is called

This behavior is called Late Binding.


✅ ✅ ✅ Correct Way (Fix This Problem)

✅ Solution 1: Use Default Argument

funcs = [] for i in range(3): funcs.append(lambda i=i: i)
print([f() for f in funcs])

✅ Output:

[0, 1, 2]

Why this works:

  • i=i captures the value immediately

  • Each lambda stores its own copy

Python for Civil Engineering: Concepts, Computation & Real-world Applications


0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (161) Android (25) AngularJS (1) Api (6) Assembly Language (2) aws (27) Azure (8) BI (10) Books (254) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (299) Cybersecurity (28) Data Analysis (24) Data Analytics (16) data management (15) Data Science (225) Data Strucures (14) Deep Learning (75) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (17) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (48) 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 (197) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (12) PHP (20) Projects (32) Python (1219) Python Coding Challenge (898) Python Quiz (348) 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)