Tuesday, 22 July 2025

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

 


Code Explanation:

1. Define the function flatten_once(lst)
def flatten_once(lst):
This function is a generator that flattens a list only one level deep.

2. Loop over the list elements
for sub in lst:
Iterates over each item in the list lst.

For the input:
[1, [2, 3], 4]
The elements in order are:
1 (not a list)
[2, 3] (a list)

4 (not a list)

3. Check if element is a list
if isinstance(sub, list):
If the current element is a list, we want to yield its items individually.

4. Yield items based on type
If it's a list:
yield from sub
For [2, 3], this means yield 2, then 3.

If it's not a list:
yield sub
For 1 and 4, they are yielded directly.

How it Processes the Input
Given:
flatten_once([1, [2, 3], 4])
The generator yields:

1 → from yield sub

2 → from yield from [2, 3]

3 → from yield from [2, 3]

4 → from yield sub

Final Output
[1, 2, 3, 4]

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)