एक सूची को देखते हुए, हमें इसके तत्वों के अनुक्रम की जांच करने की आवश्यकता हो सकती है। इस लेख में हम यह पता लगाएंगे कि सूची में मौजूद तत्व सख्ती से बढ़ते क्रम में हैं या नहीं। निम्न कार्यक्रम उस उद्देश्य को प्राप्त करते हैं।
सभी के साथ और ज़िप के साथ
इस दृष्टिकोण में हम पहले प्रत्येक तत्व को स्लाइस करते हैं, उसके मूल्य की तुलना अगले तत्व से करते हैं जो कटा हुआ है। यदि ऐसी सभी तुलनाएँ सही हैं तो हम इस निष्कर्ष पर पहुँचते हैं कि सूची सख्ती से बढ़ते क्रम में है।
उदाहरण
listA = [11,23,42,51,67] #Given list print("Given list : ",listA) # Apply all and range if (all(i < j for i, j in zip(listA, listA[1:]))): print("Yes, List is sorted.") else: print("No, List is not sorted.") # Checking again listB = [11,23,21,51,67] print("Given list : ",listB) # Apply all and range if (all(i < j for i, j in zip(listB, listB[1:]))): print("Yes, List is sorted.") else: print("No, List is not sorted.")
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Given list : [11, 23, 42, 51, 67] Yes, List is sorted. Given list : [11, 23, 21, 51, 67] No, List is not sorted.
itertools.starmap के साथ
एक पुनरावर्तक बनाता है जो पुनरावर्तनीय से प्राप्त तर्कों का उपयोग करके फ़ंक्शन की गणना करता है। हम तत्वों की सूची को एक-एक करके स्लाइस करने के बाद ज़िप करते हैं और फिर कम से कम ऑपरेटर के माध्यम से लेते हैं। कृपया ध्यान दें कि हमने नीचे दिए गए उदाहरणों में संख्याओं के बजाय स्ट्रिंग्स का उपयोग किया है।
उदाहरण
import operator import itertools listA = ['Mon','Tue','Sun'] #Given list print("Given list : ",listA) # Apply all and range if all(itertools.starmap(operator.le, zip(listA, listA[1:]))): print("Yes, List is sorted.") else: print("No, List is not sorted.") # Checking again listB = ['Mon','Sun','Tue'] print("Given list : ",listB) # Apply all and range if all(itertools.starmap(operator.le, zip(listB, listB[1:]))): print("Yes, List is sorted.") else: print("No, List is not sorted.")
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Given list : ['Mon', 'Tue', 'Sun'] No, List is not sorted. Given list : ['Mon', 'Sun', 'Tue'] Yes, List is sorted.