हमारे डेटा विश्लेषण की जरूरतों के आधार पर हमें पायथन डेटा कंटेनर में अनुक्रमिक संख्याओं की उपस्थिति की जांच करने की आवश्यकता हो सकती है। नीचे दिए गए प्रोग्राम में हम पता लगाते हैं कि किसी सूची के तत्वों में कोई लगातार संख्याएं हैं या नहीं।
range और sorted के साथ
sorted फंक्शन सूची के तत्वों को क्रमबद्ध क्रम में पुनर्व्यवस्थित करता है। फिर हम min और max फंक्शन का उपयोग करके सूची से सबसे कम और सबसे अधिक संख्या लेकर range फंक्शन लागू करते हैं। हम उपरोक्त ऑपरेशन के परिणामों को दो सूचियों में संग्रहीत करते हैं और उनकी समानता के लिए तुलना करते हैं।
उदाहरण
listA = [23, 20, 22, 21, 24]
sorted_list = sorted(listA)
# sorted(l) == range_list = list(range(min(listA), max(listA)+1))
if sorted_list == range_list:
print("listA में लगातार संख्याएं हैं")
else:
print("listA में लगातार संख्याएं नहीं हैं")
# फिर से जांच
listB = [23, 20, 13, 21, 24]
sorted_list = sorted(listB)
# sorted(l) == range_list = list(range(min(listB), max(listB)+1))
if sorted_list == range_list:
print("listB में लगातार संख्याएं हैं")
else:
print("listB में लगातार संख्याएं नहीं हैं")
आउटपुट
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है -
listA में लगातार संख्याएं हैं ListB में लगातार संख्याएं नहीं हैं
numpy diff और sorted के साथ
numpy में diff फंक्शन सॉर्ट करने के बाद प्रत्येक संख्या के बीच का अंतर ज्ञात कर सकता है। हम इन अंतरों का योग लेते हैं। यदि सभी संख्याएं लगातार हैं तो यह सूची की लंबाई से मेल खाएगा।
उदाहरण
import numpy as np
listA = [23, 20, 22, 21, 24]
sorted_list_diffs = sum(np.diff(sorted(listA)))
if sorted_list_diffs == (len(listA) - 1):
print("listA में लगातार संख्याएं हैं")
else:
print("listA में लगातार संख्याएं नहीं हैं")
# फिर से जांच
listB = [23, 20, 13, 21, 24]
sorted_list_diffs = sum(np.diff(sorted(listB)))
if sorted_list_diffs == (len(listB) - 1):
print("listB में लगातार संख्याएं हैं")
else:
print("listB में लगातार संख्याएं नहीं हैं")
आउटपुट
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है -
listA में लगातार संख्याएं हैं ListB में लगातार संख्याएं नहीं हैं