Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन - 1D सूची को परिवर्तनीय लंबाई की 2D सूची में बदलें

पायथन में एक सूची सामान्यतः 1D सूची होती है जहां तत्व एक के बाद एक सूचीबद्ध होते हैं। लेकिन 2D सूची में हमारे पास बाहरी सूची के अंदर नेस्टेड सूचियां होती हैं। इस लेख में हम देखेंगे कि दी गई 1D सूची से 2D सूची कैसे बनाई जाए। हम प्रोग्राम को 2D सूची के अंदर तत्वों की संख्या के मान भी प्रदान करते हैं।

append और इंडेक्स का उपयोग करके

इस दृष्टिकोण में हम 2D सूची में प्रत्येक तत्व के माध्यम से लूप करने के लिए एक फॉर लूप बनाते हैं और इसे नई सूची के लिए इंडेक्स के रूप में उपयोग करते हैं। हम इंडेक्स मान को शून्य से शुरू करके बढ़ाते रहते हैं और इसे 2D सूची से प्राप्त तत्व में जोड़ते हैं।

उदाहरण

# दी गई सूची
listA = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']

# 2D सूचियों के लिए आवश्यक लंबाई
len_2d = [2, 4]

# खाली नई सूची घोषित करें
res = []

def convert(listA, len_2d):
    idx = 0
    for var_len in len_2d:
        res.append(listA[idx: idx + var_len])
        idx += var_len

convert(listA, len_2d)
print("The new 2D list is: \n", res)

उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:

आउटपुट

[['Sun', 'Mon'], ['Tue', 'Wed', 'Thu', 'Fri']]

islice का उपयोग करके

islice फ़ंक्शन का उपयोग दी गई सूची को 2D सूची द्वारा आवश्यक तत्वों की निश्चित संख्या के साथ स्लाइस करने के लिए किया जा सकता है। तो यहां हम 2D सूची के प्रत्येक तत्व को देखते हैं और उस मान का उपयोग मूल सूची को स्लाइस करने के लिए करते हैं। islice फ़ंक्शन का उपयोग करने के लिए हमें itertools पैकेज की आवश्यकता होती है।

उदाहरण

from itertools import islice

# दी गई सूची
listA = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']

# 2D सूचियों के लिए आवश्यक लंबाई
len_2d = [3, 2]

# islice का उपयोग करें
def convert(listA, len_2d):
    res = iter(listA)
    return [list(islice(res, i)) for i in len_2d]

res = [convert(listA, len_2d)]
print("The new 2D list is: \n", res)

उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:

आउटपुट

[[['Sun', 'Mon', 'Tue'], ['Wed', 'Thu']]]

नोट:

दूसरे उदाहरण में आउटपुट में एक अतिरिक्त नेस्टिंग स्तर है क्योंकि res = [convert(...)] का उपयोग किया गया है। सही उपयोग:

res = convert(listA, len_2d)
# परिणाम: [['Sun', 'Mon', 'Tue'], ['Wed', 'Thu']]
  1. - पायथन प्रोग्राम: लिस्ट को स्ट्रिंग में बदलें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक लिस्ट इटरेबल दी गई है, जिसे स्ट्रिंग टाइप इटरेबल में बदलना है। दिए गए समस्या को हल करने के चार दृष्टिकोण हैं। आइए उन्हें एक-एक करके देखें। ब्रूट-फोर्स दृष्टिकोण उदाहरण def listToString(s): # खाली स्ट्रिंग इनिशियलाइज़ कर

  1. - पायथन प्रोग्राम: लिस्ट को स्ट्रिंग में बदलें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक लिस्ट दिए जाने पर, हमें इसे स्ट्रिंग टाइप में बदलने की आवश्यकता है। यहां हम ऊपर दी गई प्रॉब्लम स्टेटमेंट को हल करने के लिए चार अलग-अलग दृष्टिकोणों पर चर्चा करेंगे: दृष्टिकोण 1: खा

  1. - Python Dictionary को List में कैसे बदलें?

    Python Dictionary को List में बदलना Python की डिक्शनरी क्लास में इस उद्देश्य के लिए तीन मेथड्स हैं। items(), keys() और values() मेथड्स क्रमशः की-वैल्यू पेयर्स के टपल, केवल कुंजियाँ और केवल मान समाहित करने वाले व्यू ऑब्जेक्ट्स लौटाते हैं। बिल्ट-इन list मेथड इन व्यू ऑब्जेक्ट्स को सूची ऑब्जेक्ट्स में