Comprehensions in Python

Comprehensions in Python – Sequence Operations व List Methods के साथ ही Python हमें List Comprehension Expression नाम के कुछ Advanced Operations Perform करने की सुविधा भी देता है, जिसके माध्‍यम से हम किसी Matrix जैसे Structure को काफी Powerful तरीके से Process कर सकते हैं।

उदाहरण के लिए मान लीजिए कि हमारे पास पिछले Example में बनाए गए Matrix में से ही केवल दूसरे Column के Items चाहिए।

पिछले Example के अनुसार किसी Row के Data Items को Return करना तो बहुत आसान है, लेकिन किसी Column के Data को पिछले Example में Discuss किए गए तरीके से Return करना उतना आसान नहीं है। इसी स्थिति को Comprehension Expression द्वारा आसानी से Handle किया जा सकता है और किसी Matrix के Column में Stored Data को Retrive किया जा सकता है। जैसे-


FileName: ComprehensiveMatrix.py
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

print("The Matrix: \n", matrix)
column2 = [column[1] for column in matrix]
print("\nSecond Column of the Matrix: ", column2)

Output
The Matrix:
 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

Second Column of the Matrix:  [2, 5, 8]

List Comprehensions के Codes को Square Brackets में लिखा जाता है, जिसका मतलब यही है कि Return होने वाला Resultset एक List Object के रूप में ही Return होगा। इस Example में हमने जिस Comprehensive Code को Specify किया है, उसमें for Loop का प्रयोग किया गया है, जिसके बारे में हम आगे विस्‍तार से जानेंगे लेकिन यहां matrix से column2 List Object में Return होने वाले Data Items को Return करने के लिए लिखा गया Comprehensive Statement यही कह रहा है कि हमें matrix के प्रत्‍येक Row में से हर उस column को Return करना है जो कि column[1] की Position पर Exist है।

List Comprehensive Expression काफी Complex भी हा सकते हैं। लेकिन इन पर पूरा Control तभी प्राप्‍त हो सकेगा, जबकि आपको Python के Looping Constructs की अच्‍छी समझ हो। फिर भी हम कुछ Simple Examples द्वारा List Comprehensive Expressions की उपयोगिता को समझने के लिए निम्‍नानुसार Modified Example Program Create कर सकते हैं-


FileName: AdvancedComprehensiveExpression.py
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

print("The Matrix: \n", matrix)

# Adding 1 in Each Column[1] Value
column2 = [column[1]+2 for column in matrix]
print("\n2nd Column of Matrix. Each value Increased by 2:", column2)

# Return only Odd Values from the Column[1]
column2 = [column[1] for column in matrix if column[1] % 2 != 0]
print("\nReturned Only Odd Values from 2nd Column of Matrix:", column2)

Output
The Matrix:
 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

2nd Column of Matrix. Each value Increased by 2:  [4, 7, 10]
Returned Only Odd Values 2nd Column of Matrix. :  [5]

इस Example के पहले Comprehensive Expression में हमने matrix के प्रत्‍येक Row के दूसरे Column के मान को Retrieve किया है और उसमें 2 Add करके column2 List में Return कर दिया है। इसीलिए इस बार प्राप्‍त होने वाला Output, पिछले Example में प्राप्‍त होने वाले Output से अलग है।

इसी तरही से दूसरे Comprehensive Expression में भी हमने प्रत्‍येक Row के पहले Column के मान को Retrieve किया है और फिर एक if Statement के माध्‍यम से उस Return होने वाले मान को इस बात के लिए Check किया है कि वह एक Odd Number है या नहीं। यदि Odd Number है, तो उस Odd Number को column2 List में Return कर दिया है।

Comprehensive Expression हमेंशा Result का एक नया List Create करता है लेकिन हम इसे किसी भी Iterable Object के साथ समान प्रकार से Use कर सकते हैं। (Comprehensions in Python in Hindi)

Nesting of LIST in Python
Dictionary Mapping Operations in Python

Python in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Python in Hindi | Page: 602 | Format: PDF

BUY NOW GET DEMO REVIEWS