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

पायथन - दी गई संख्याओं की लिस्ट से संभव सबसे बड़ी संख्या


इस लेख में, हम दी गई संख्याओं की लिस्ट से संभव सबसे बड़ी संख्या ढूंढना सीखेंगे। हम समस्या हल करने के दो अलग-अलग तरीके देखेंगे। समस्या हल करने के लिए नीचे दिए गए चरणों का पालन करें:

  • permutations विधि के लिए itertools मॉड्यूल इम्पोर्ट करें।
  • संख्याओं के साथ लिस्ट और एक खाली लिस्ट इनिशियलाइज़ करें।
  • लिस्ट के permutations पर पुनरावृति करें:
    • सभी संयोजनों को जोड़ें और परिणाम को खाली लिस्ट में जोड़ें।
  • max विधि और key के रूप में int का उपयोग करके परिणाम से अधिकतम संख्या ढूंढें।
  • स्ट्रिंग को पूर्णांक में बदलें और प्रिंट करें।

उदाहरण

आइए कोड देखें:

# मॉड्यूल इम्पोर्ट करना import itertools # लिस्ट इनिशियलाइज़ करना numbers = [45, 35, 138, 43, 67] # परिणाम result = [] # permutations for permutation in itertools.permutations(str(number) for number in numbers):    result.append(''.join(permutation)) # अधिकतम ढूंढना maximum = max(result, key=int) # अधिकतम प्रिंट करना print(int(maximum))

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेगा:

आउटपुट

67454335138 

आइए समस्या हल करने का दूसरा तरीका देखें। हम sorted फ़ंक्शन का उपयोग करेंगे। कोड लिखने के लिए नीचे दिए गए चरणों का पालन करें:

  • लिस्ट को sorted फ़ंक्शन में पास करें।
  • get_key नामक एक फ़ंक्शन लिखें जो दो आर्गुमेंट स्वीकार करता है।
  • यदि str(first) + str(second) > str(second) + str(first) तो -1 लौटाएं अन्यथा 1।
  • जॉइन विधि का उपयोग करके लिस्ट के तत्वों को जोड़ें।
  • पूर्णांक में बदलकर परिणाम प्रिंट करें।

चूंकि हम फ़ंक्शन को key के रूप में उपयोग कर रहे हैं, हमें इसे functools से cmp_to_key विधि का उपयोग करके key में बदलना होगा। आइए कोड देखें:

उदाहरण

from functools import cmp_to_key # लिस्ट इनिशियलाइज़ करना numbers = [45, 35, 138, 43, 67] def get_key(first, second):    if str(first) + str(second) > str(second) + str(first):       return -1    return 1 # परिणाम प्राप्त करना result = sorted(numbers, key=cmp_to_key(get_key)) # परिणाम जोड़ना result = "".join(str(integer) for integer in result) # परिणाम प्रिंट करना print(int(result))

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेगा:

आउटपुट

67454335138 

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उन्हें कमेंट सेक्शन में बताएं।


  1. - Python में रैंडम नंबर सूची जनरेट करना

    किसी मॉडल या प्रोग्राम के व्यवहार का विभिन्न मानों की रेंज के लिए अध्ययन करते समय रैंडम नंबर जनरेट करने की आवश्यकता होती है। Python random मॉड्यूल का उपयोग करके ऐसे रैंडम नंबर जनरेट कर सकता है। नीचे दिए गए उदाहरणों में हम पहले देखेंगे कि एक रैंडम नंबर कैसे जनरेट करें और फिर इसे रैंडम नंबर की सूची जन

  1. - पायथन प्रोग्राम सूची से N सबसे बड़े तत्व खोजने के लिए

    एक पूर्णांक सूची दी गई है, हमारा कार्य सूची में N सबसे बड़े तत्व ढूंढना है। उदाहरण इनपुट : [40, 5, 10, 20, 9] N = 2 आउटपुट: [40, 20] एल्गोरिदम चरण 1: एक पूर्णांक सूची और सबसे बड़ी संख्या की संख्या इनपुट करें। चरण 2: पहले सूची को N बार पार करें। चरण 3: प्रत्येक पारगमन में सबसे बड़ा मान ढूंढें और इसे

  1. - दिए गए रेंज में रैंडम नंबर उत्पन्न करके सूची में संग्रहीत करने का पायथन प्रोग्राम

    समस्या विवरण यहां 3 यूजर इनपुट वेरिएबल का उपयोग किया जाता है, एक प्रारंभिक संख्या के लिए, दूसरा अंतिम संख्या के लिए और अंतिम वह कितनी रैंडम संख्या प्रदर्शित करना चाहता है। पायथन रैंडम नंबर उत्पन्न करने के लिए एक रैंडम मॉड्यूल प्रदान करता है। यहां हम रैंडम फंक्शन के साथ randint फंक्शन का उपयोग करते ह