Python List Comprehension: Write 5x Cleaner Code
Python List Comprehension
Python में किसी list से नई list बनाने के लिए अक्सर हम for loop इस्तेमाल करते हैं। लेकिन Python एक ऐसा shortcut देता है जिससे वही काम सिर्फ एक लाइन में हो जाता है — इसे List Comprehension कहते हैं।
यह Python के सबसे पसंद किए जाने वाले features में से एक है, क्योंकि यह code को छोटा, साफ और पढ़ने में आसान बना देता है। अगर आपने अभी Python Lists Complete Guide in Hindi नहीं पढ़ा है, तो पहले वो article पढ़ना बहुत जरूरी है, क्योंकि List Comprehension पूरी तरह List के ऊपर based है। Examples खुद run करने के लिए हमारा Online Python Editor & Compiler use कर सकते हैं।
List Comprehension क्या है?
List Comprehension Python का एक ऐसा तरीका है जिससे किसी existing iterable (जैसे list, range) से नई list को एक ही लाइन में बनाया जा सकता है।
सरल भाषा में — List Comprehension एक छोटा सा loop है, जो सीधे एक नई list बना देता है।
Output:
List Comprehension की जरूरत क्यों पड़ती है?
बिना List Comprehension के, किसी list से नई list बनाने के लिए हमें कई लाइनों का loop लिखना पड़ता है।
दोनों का output बिल्कुल same है — [1, 4, 9, 16, 25] — लेकिन List Comprehension सिर्फ एक लाइन में, छोटा और साफ है।
Basic List Comprehension Syntax
expression→ हर item पर जो operation करना हैitem→ iterable का हर एक value, एक-एक करकेiterable→ list, range, या कोई भी loop होने लायक चीज़
Expression और Iterable
Output:
यहाँ x * 2 expression है, x हर item है, और [1, 2, 3, 4] iterable है।
Numbers के साथ List Comprehension
Existing List से नई List बनाना
Output:
यहाँ एक existing list fruits से नई list upper_fruits बनाई गई, जिसमें हर नाम uppercase में है।
Calculation के साथ List Comprehension
Output:
हर price पर 18% tax जोड़कर नई list बनाई गई — बिना किसी extra loop के।
Try it Yourself »if Condition के साथ List Comprehension
List Comprehension में if लगाकर सिर्फ वही values चुनी जा सकती हैं जो किसी condition को पूरा करती हों।
Output:
Even और Odd Numbers निकालना
Output:
Output:
if-else के साथ List Comprehension
अगर हर element के लिए कोई-न-कोई value चाहिए (filter नहीं करना, बल्कि बदलना है), तो if-else को expression वाली जगह पर लिखा जाता है।
Output:
यहाँ हर number को filter नहीं किया गया, बल्कि उसकी जगह "Even" या "Odd" label डाल दिया गया।
if को comprehension के आखिर में लिखा जाता है, लेकिन हर element को transform करने के लिए if-else को expression के साथ, शुरुआत में लिखा जाता है — दोनों का position अलग-अलग है।
Practical Marks Example
Output:
यहाँ filtering, transformation और if-else — तीनों तरह के List Comprehension एक साथ इस्तेमाल किए गए हैं।
Try it Yourself »Normal Loop vs List Comprehension
| Normal Loop | List Comprehension |
|---|---|
| कई लाइनों में लिखा जाता है | एक ही लाइन में लिखा जाता है |
Empty list बनाकर append() करना पड़ता है | Directly नई list return होती है |
| पढ़ने में ज्यादा समय लगता है | छोटे operations के लिए जल्दी पढ़ा जा सकता है |
| Complex logic के लिए बेहतर | Simple transformations/filtering के लिए बेहतर |
Output:
दोनों का result same है, लेकिन squares_comp सिर्फ एक लाइन में लिखा गया।
Common Beginner Mistakes
अगर logic में कई conditions या steps हों, तो List Comprehension पढ़ने में मुश्किल हो जाता है — ऐसे में normal for loop ज्यादा readable रहता है।
Expression और loop variable का नाम match होना चाहिए — यहाँ x कहीं भी for के साथ define नहीं हुआ।
Exercise ?
List Comprehension में सिर्फ filter करने के लिए if को कहाँ लिखा जाता है?
Coding Challenge और Final Revision
अब खुद अपने Online Python Editor में इन challenges को solve कीजिए:
- List Comprehension से 1 से 10 तक के numbers की cube वाली एक list बनाइए।
- किसी list में से सिर्फ 3 से divide होने वाले numbers चुनिए।
- एक list of names को List Comprehension से lowercase में बदलिए।
- List Comprehension के साथ
if-elseइस्तेमाल करके किसी list के हर number को"Positive"या"Negative"label दीजिए। - किसी list of marks में से pass students (
>= 35) चुनकर, उन सबमें 10 bonus marks जोड़िए — सब कुछ List Comprehension से।
Quick Revision
| Concept | Syntax |
|---|---|
| Basic Comprehension | [expression for item in iterable] |
| Filter के साथ | [expression for item in iterable if condition] |
| Transform (if-else) | [true_value if condition else false_value for item in iterable] |
FAQ
Python में List Comprehension क्या है?
List Comprehension एक compact syntax है जिससे किसी iterable से नई list को एक ही लाइन में, loop इस्तेमाल करके बनाया जा सकता है।
List Comprehension और Normal Loop में क्या फर्क है?
दोनों से same काम हो सकता है, लेकिन List Comprehension इसे एक ही लाइन में, बिना append() इस्तेमाल किए करता है, जिससे code छोटा और readable बनता है।
List Comprehension में if और if-else में क्या फर्क है?
सिर्फ if (आखिर में) elements को filter करता है — सिर्फ matching elements रहते हैं। if-else (expression के साथ) हर element को transform करता है — कोई element हटता नहीं, बस उसकी value बदल जाती है।
क्या List Comprehension हमेशा Normal Loop से बेहतर है?
नहीं। छोटे और simple operations के लिए List Comprehension बेहतर है, लेकिन अगर logic complex हो या कई steps में फैला हो, तो normal for loop ज्यादा readable रहता है।
List Comprehension सिर्फ Lists के लिए है?
List Comprehension नई list बनाता है, लेकिन इसका iterable कोई भी चीज़ हो सकती है जिस पर loop चलाया जा सके — जैसे range, string, tuple, या कोई और existing list।
Summary
List Comprehension = loop + append() का काम, सिर्फ एक लाइन में।
इस article में आपने सीखा कि List Comprehension क्या है, इसका basic syntax क्या है, expression और iterable का क्या role है, if से values कैसे filter करें, if-else से values को कैसे transform करें, और Normal Loop व List Comprehension में क्या फर्क है।
List Comprehension Python का एक बहुत powerful feature है जो code को छोटा और साफ बनाता है, लेकिन इसे सिर्फ simple operations के लिए इस्तेमाल करना चाहिए। अब ऊपर दिया गया coding challenge खुद अपने Online Editor में solve करें।

कोई टिप्पणी नहीं:
एक टिप्पणी भेजें