शुरू करेंमुफ़्त में शुरू करें

Nested list comprehensions

बहुत बढ़िया! इस चरण पर, आपको लिस्ट कॉम्प्रिहेंशंस के बेसिक सिंटैक्स की अच्छी समझ हो गई है। अब आपकी कोड-लेखन स्किल को थोड़ा और आगे बढ़ाते हैं। इस अभ्यास में, आप एक लिस्ट कॉम्प्रिहेंशन के अंदर दूसरी लिस्ट कॉम्प्रिहेंशन लिखेंगे — यानी nested list comprehensions। सुनने में थोड़ा पेचीदा लगता है, लेकिन आप यह कर सकते हैं!

कुछ समय के लिए strings से हटते हैं। सूचियों (lists) का एक उपयोग मल्टी-डायमेंशनल ऑब्जेक्ट्स जैसे मैट्रिक्स को दर्शाना भी है। Python में मैट्रिक्स को lists of lists के रूप में दर्शाया जा सकता है। उदाहरण के लिए, हर पंक्ति में 0 से 4 तक के मानों वाला 5 x 5 मैट्रिक्स ऐसे लिखा जा सकता है:

matrix = [[0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4]]

आपका कार्य nested list comprehensions का उपयोग करके यही मैट्रिक्स फिर से बनाना है। याद करें कि मैट्रिक्स की किसी एक पंक्ति को आप एक ही लिस्ट कॉम्प्रिहेंशन से बना सकते हैं। lists of lists बनाने के लिए, आपको बस उस लिस्ट कॉम्प्रिहेंशन को ओवरऑल लिस्ट कॉम्प्रिहेंशन की output expression के रूप में देना है:

[[output expression] for iterator variable in iterable]

ध्यान दें कि यहाँ output expression खुद एक लिस्ट कॉम्प्रिहेंशन है।

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python टूलबॉक्स

पाठ्यक्रम देखें

अभ्यास निर्देश

  • inner list comprehension में — यानी nested list comprehension की output expression में — range() का उपयोग करके 0 से 4 तक के मानों की एक list बनाएँ। iterator variable के रूप में col का उपयोग करें।
  • अपनी nested list comprehension के iterable भाग में, 5 पंक्तियों की गिनती के लिए range() का उपयोग करें — अर्थात् 0 से 4 तक के मानों की एक list बनाएँ। iterator variable के रूप में row का उपयोग करें; ध्यान दें कि lists of lists में मान बनाने के लिए इस variable की आवश्यकता नहीं पड़ेगी।

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Create a 5 x 5 matrix using a list of lists: matrix
matrix = [[____] ____]

# Print the matrix
for row in matrix:
    print(row)
कोड संपादित करें और चलाएँ