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

पायथन में लाइब्रेरी सेट क्लास का उपयोग किए बिना सेट डेटा संरचना को परिभाषित करने का कार्यक्रम

मान लीजिए कि हम निम्नलिखित विधियों के साथ एक सेट डेटा संरचना को लागू करना चाहते हैं -

  • सेट का नया इंस्टेंस बनाने वाला कंस्ट्रक्टर
  • सेट में पूर्णांक वैल डालने के लिए (वैल) जोड़ें
  • मौजूद है(वैल) यह जांचने के लिए कि वैल सेट में है या नहीं
  • निकालें(वैल) सेट से वैल को हटाने के लिए

इसलिए, यदि हम एक सेट s बनाते हैं, तो s.add(10), s.add(20), s.add(10), s.exists(10), s.remove(10), s.exists( 10), s.exists(20), तो आउटपुट होगा

  • s.add(10) के लिए यह 10 डालेगा
  • s.add(20) के लिए यह 20 डालेगा
  • 10 पहले से ही में है, इसलिए कुछ नहीं होगा
  • s.exists(10) सच हो जाएगा क्योंकि 10 है
  • s.remove(10) द्वारा 10 हटाएं
  • s.exists(10) झूठी वापसी करेगा क्योंकि 10 हटा दिया गया है और एक तत्व केवल एक बार हो सकता है
  • s.exists(20) सच हो जाएगा क्योंकि 20 वहां मौजूद है।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • कन्स्ट्रक्टर को परिभाषित करें।
  • बाल्टी:=एक खाली नक्शा और इसमें डेटा की एक सूची होगी
  • एक फंक्शन ऐड () को परिभाषित करें। इसमें वैल लगेगा
  • यदि मौजूद है (वैल) गलत है, तो
    • बाल्टी के अंत में वैल डालें[वैल]
  • परिभाषित करें कि कोई फ़ंक्शन मौजूद है ()। इसमें वैल लगेगा
  • जब वैल बकेट में हो तो सही लौटें[वैल], अन्यथा गलत
  • एक फंक्शन रिमूव () को परिभाषित करें। इसमें वैल लगेगा
  • बाल्टी हटाएं[वैल]

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

from collections import defaultdict
class MySet:
   def __init__(self):
      self.buckets = defaultdict(list)

   def add(self, val):
      if not self.exists(val):
         self.buckets[val].append(val)

   def exists(self, val):
      return val in self.buckets[val]

   def remove(self, val):
      del self.buckets[val]

s = MySet()
s.add(10)
s.add(20)
s.add(10)
print(s.exists(10))
s.remove(10)
print(s.exists(10))
print(s.exists(20))

इनपुट

s = MySet()
s.add(10)
s.add(20)
s.add(10)
s.exists(10)
s.remove(10)
s.exists(10)
s.exists(20)

आउटपुट

True
False
True

  1. पायथन प्रोग्राम में किसी भी लूप का उपयोग किए बिना नंबर श्रृंखला प्रिंट करें

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन दो संख्या N और K को देखते हुए, हमारी समस्या N से किसी संख्या K को तब तक घटाना है जब तक कि संख्या (N) शून्य (0) से अधिक न हो जाए, एक बार जब N ऋणात्मक या शून्य हो जाए तो हम उसमें K जोड़ना शुरू कर देते हैं जब तक कि वह संख

  1. किसी भी लूप का उपयोग किए बिना प्रिंट नंबर श्रृंखला के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन - दो संख्या N और K को देखते हुए, हमारी समस्या N से किसी संख्या K को तब तक घटाना है जब तक कि संख्या (N) शून्य (0) से अधिक न हो जाए, एक बार जब N ऋणात्मक या शून्य हो जाए तो हम उसमें K को तब तक जोड़ना शुरू करते हैं जब तक क

  1. पायथन में खोजपूर्ण डेटा विश्लेषण

    डेटा विश्लेषण के लिए, खोजपूर्ण डेटा विश्लेषण (ईडीए) आपका पहला कदम होना चाहिए। खोजपूर्ण डेटा विश्लेषण हमें − . में मदद करता है डेटा सेट में अंतर्दृष्टि देने के लिए। अंतर्निहित संरचना को समझें। महत्वपूर्ण पैरामीटर और उनके बीच संबंध निकालें। अंतर्निहित मान्यताओं का परीक्षण करें। नमूना डेट