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

पायथन - 2D सूची को समतल करने के तरीके

एक सूची एक संग्रह है जो आदेशित और परिवर्तनशील है। पायथन में सूचियाँ वर्गाकार कोष्ठकों के साथ लिखी जाती हैं। आप इंडेक्स नंबर का हवाला देकर सूची आइटम तक पहुंचते हैं। ऋणात्मक अनुक्रमण का अर्थ है अंत से प्रारंभ, -1 अंतिम आइटम को संदर्भित करता है। आप यह निर्दिष्ट करके अनुक्रमित की एक श्रेणी निर्दिष्ट कर सकते हैं कि कहां से शुरू करना है और कहां सीमा को समाप्त करना है। एक सीमा निर्दिष्ट करते समय, वापसी मूल्य निर्दिष्ट वस्तुओं के साथ एक नई सूची होगी।

उदाहरण

# using chain.from_iterables
# import chain
from itertools import chain
ini_list = [[1, 2, 3],
   [3, 6, 7],
   [7, 5, 4]]    
# printing initial list
print ("initial list ", str(ini_list))
# converting 2d list into 1d
# using chain.from_iterables
flatten_list = list(chain.from_iterable(ini_list))
# printing flatten_list
print ("final_result", str(flatten_list))
# using list comprehension
# import chain
from itertools import chain  
ini_list = [[1, 2, 3],
   [3, 6, 7],
   [7, 5, 4]]            
# printing initial list
print ("initial list ", str(ini_list))  
# converting 2d list into 1d
# using list comprehension
flatten_list = [j for sub in ini_list for j in sub]
# printing flatten_list
print ("final_result", str(flatten_list))
# using functools.reduce  
# import functools
from functools import reduce  
ini_list = [[1, 2, 3],
   [3, 6, 7],
   [7, 5, 4]]              
# printing initial list
print ("initial list ", str(ini_list))  
# converting 2d list into 1d
# using functools.reduce
flatten_list = reduce(lambda z, y :z + y, ini_list)  
# printing flatten_list
print ("final_result", str(flatten_list))
# using sum  
ini_list = [[1, 2, 3],
   [3, 6, 7],
   [7, 5, 4]]  
# printing initial list
print ("initial list ", str(ini_list))  
# converting 2d list into 1d
flatten_list = sum(ini_list, [])  
# printing flatten_list
print ("final_result", str(flatten_list))
ini_list=[[1, 2, 3],
   [3, 6, 7],
   [7, 5, 4]]
#Using lambda  
flatten_list = lambda y:[x for a in y for x in flatten_list(a)] if type(y) is list else [y]
print("Initial list ",ini_list)
#priniting initial list  
print("Flattened List ",flatten_list(ini_list))
# printing flattened list

आउटपुट

('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]')
('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]')
('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]')
('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]')
('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]')
('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]')
('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]')
('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]')
('Initial list ', [[1, 2, 3], [3, 6, 7], [7, 5, 4]])
('Flattened List ', [1, 2, 3, 3, 6, 7, 7, 5, 4])

  1. पायथन में एक सूची का विस्तार (5 अलग-अलग तरीके)

    सूचियाँ अजगर की सबसे अधिक उपयोग की जाने वाली डेटा संरचनाएँ हैं। जब हम किसी सूची में और तत्व जोड़ना चाहते हैं, तो सूची का विस्तार होता है। यह निम्नलिखित 5 अलग-अलग तरीकों से किया जा सकता है। प्लस ऑपरेटर का उपयोग करना यहां हम केवल + ऑपरेटर का उपयोग करके एक नई सूची के तत्वों को जोड़ते हैं। व्यवहार वैसा

  1. पायथन में एक सूची को साफ़ करने के विभिन्न तरीके

    एक अजगर सूची में सभी तत्वों को साफ़ करना कई तरीकों से किया जा सकता है। नीचे कुछ तरीके दिए गए हैं जो इसे प्राप्त करने के लिए लागू किए गए हैं। स्पष्ट () का उपयोग करके यह फ़ंक्शन मानक पुस्तकालय का एक हिस्सा है और पायथन सूची को पूरी तरह से खाली कर देता है। Syntax: list_name.clear() list_name is the nam

  1. पायथन में उथली सूची को कैसे फ़्लैट करें?

    दो नेस्टेड लूप का उपयोग करके एक फ्लैट सूची में सबलिस्ट से आइटम जोड़ना एक सरल और सीधा समाधान है। lst = [[10, 20, 30, 40], [50, 60, 70, 80], [90, 100, 110, 120]] flatlist = [] for sublist in lst: for item in sublist: flatlist.append(item) print (flatlist) एक अधिक कॉम्पैक्ट और पाइथोनिक समाध