← Back to Python Course | Chapter 6: Data Structures | Lesson 8 of 12

Python List Comprehension

List comprehension एक line में नई list बनाने का shortcut है, जैसे एक machine जो items की एक row लेकर बदले हुए items बाहर निकाल दे। यह एक लंबे loop की जगह लेती है।
Syntax
python
new_list = [expression for item in iterable if condition]

Basic List Comprehension

List comprehensions किसी मौजूदा iterable से एक expression में नई list बनाती हैं — [x*2 for x in nums] — और आमतौर पर equivalent explicit for-loop-with-append pattern से ज़्यादा concise और तेज़ भी होती हैं, क्योंकि looping optimized C code में होती है।

उदाहरण: Basic List Comprehension

python
nums = [1, 2, 3]
doubled = [x * 2 for x in nums]  # builds a new list by doubling each item
print(doubled)

Conditions से Filter करना

for clause के बाद एक 'if condition' जोड़ने से यह filter होता है कि कौन-से elements result में जाएँगे — [x for x in nums if x % 2 == 0] सिर्फ even numbers रखता है, बाकी को transform करने की बजाय पूरी तरह skip कर देता है।

उदाहरण: Filtering with Conditions

python
nums = [1, 2, 3, 4, 5, 6]
evens = [x for x in nums if x % 2 == 0]  # the if clause filters out odd numbers
print(evens)

If-Else Conditions इस्तेमाल करना

for clause से पहले रखा गया ternary if-else किसी condition के आधार पर हर element को filter करने की बजाय transform करता है — [even if x % 2 == 0 else odd for x in nums] सभी items रखता है पर उनकी value बदल देता है।

उदाहरण: Using If-Else Conditions

python
nums = [1, 2, 3, 4]
labels = ["even" if x % 2 == 0 else "odd" for x in nums]  # if-else transforms every item
print(labels)

Comprehension में Nested Loops

आप कई for clauses को chain करके nested loops को एक comprehension में flatten कर सकते हैं — [x for row in matrix for x in row] किसी 2D list के हर element को उसी left-to-right क्रम में visit करता है जैसे equivalent nested for loop लिखने पर होता।

उदाहरण: Nested Loops in Comprehension

python
matrix = [[1, 2], [3, 4]]
flat = [x for row in matrix for x in row]  # outer loop over rows, inner loop over each row's items
print(flat)

Strings और Iterables पर Iterate करना

चूँकि comprehensions सिर्फ lists ही नहीं, किसी भी iterable पर काम करते हैं, आप एक ही syntax इस्तेमाल करके string के characters, tuple के elements, या generator के output से एक list बना सकते हैं।

उदाहरण: Iterating over Strings and Iterables

python
letters = [c for c in "cat"]
print(letters)
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.