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

पायथन लिस्ट शफल: एक चरण-दर-चरण गाइड

पायथन random.shuffle() मेथड एक लिस्ट में आइटम्स के क्रम को रैंडमली बदलता है। इंडेक्सिंग के साथ संयुक्त, यह मेथड एक लिस्ट से रैंडम आइटम चुनने के लिए उपयोगी है। random.shuffle() मेथड एक आर्गुमेंट स्वीकार करता है: वह लिस्ट जिसे आप बदलना चाहते हैं।


आप ऐसी स्थिति का सामना कर सकते हैं जहां आप एक लिस्ट में आइटम्स के क्रम को रैंडमाइज़ करना चाहते हैं। उदाहरण के लिए, मान लें कि आप अपने स्टोर पर रैफ़ल के विजेता को चुनने वाला एक प्रोग्राम बना रहे हैं। आप चाहते हैं कि वह प्रोग्राम प्रतिभागियों की लिस्ट को रैंडमली पुनर्गठित करके विजेता का चयन करे।

यहीं पर random.shuffle() मेथड काम आता है। random.shuffle() मेथड पायथन में random मॉड्यूल का हिस्सा है और एक लिस्ट में आइटम्स को रैंडमली पुनर्क्रमित करने के लिए उपयोग किया जाता है। इस ट्यूटोरियल में, हम चर्चा करेंगे कि random.shuffle() मेथड का उपयोग कैसे करें।

पायथन शफल लिस्ट

random.shuffle() पायथन फंक्शन एक लिस्ट में आइटम्स को रैंडमली पुनर्क्रमित करता है। यह मेथड उन एप्लिकेशन्स के लिए उपयोगी है जहां आप एक लिस्ट से रैंडमली एक आइटम पुनर्प्राप्त करना चाहते हैं। random.shuffle() मेथड मूल लिस्ट को संशोधित करता है। यह मेथड एक नई लिस्ट नहीं बनाता।

एक लिस्ट डेटा के संग्रह को संग्रहीत करता है। पायथन लिस्ट्स क्रमबद्ध होती हैं, जिसका अर्थ है कि जब आप एक लिस्ट में एक आइटम संग्रहीत करते हैं, तो वह उस स्थिति में रहेगा। जबकि यह लिस्ट्स की एक महत्वपूर्ण विशेषता है, आप एक ऐसा प्रोग्राम बना रहे होंगे जिसे लिस्ट के क्रम को शफल करने की आवश्यकता है।

random.shuffle() random लाइब्रेरी का हिस्सा है, जो पायथन में स्यूडो-रैंडम नंबर जेनरेटर्स को लागू करता है। इसका मतलब है कि इससे पहले कि हम random.shuffle() मेथड का उपयोग कर सकें, हमें अपने कोड में random लाइब्रेरी को आयात करने की आवश्यकता है। हम अपने कोड में निम्नलिखित जोड़कर ऐसा कर सकते हैं:

import random

random.shuffle() मेथड का सिंटैक्स है:

import random
random.shuffle(list_name, function)

random.shuffle() मेथड दो पैरामीटर्स लेता है:

  • list_name: वह लिस्ट, टुपल, या स्ट्रिंग जिसका क्रम आप शफल करना चाहते हैं (आवश्यक)।
  • function: एक फंक्शन का नाम जो 0.0 और 1.0 के बीच एक रैंडम फ्लोट लौटाता है, या उस रेंज के भीतर एक और फ्लोट (वैकल्पिक)।

function पैरामीटर का उपयोग random.shuffle() के साथ असामान्य है। आप इसका उपयोग केवल तब करते हैं जब आप एक कस्टम शफल एल्गोरिदम नियोजित करना चाहते हैं जो मानों को अलग-अलग वजन देता है। इस प्रकार, हम इस ट्यूटोरियल में random.shuffle() के function पैरामीटर को कवर नहीं करते हैं।

आप random.shuffle() मेथड का उपयोग स्ट्रिंग या टुपल पर कर सकते हैं। किसी भी मामले में, random.shuffle() मूल डेटा को संशोधित करता है। यह एक नया मान नहीं बनाता, जैसे एक नई स्ट्रिंग या एक नया टुपल।

पायथन random.shuffle(): उदाहरण

मान लें कि हम अपने स्टोर पर एक रैफ़ल चला रहे हैं। विजेता को $100 का गिफ्ट कार्ड मिलेगा जिसे वह स्टोर में किसी भी उत्पाद पर खर्च कर सकता है। दूसरे स्थान पर रहने वाले व्यक्ति को $50 का गिफ्ट कार्ड मिलेगा, और तीसरे स्थान पर रहने वाले व्यक्ति को $25 का गिफ्ट कार्ड मिलेगा।

हमारे पास एक लिस्ट है जिसमें रैफ़ल में भाग लेने वाले सभी लोगों के नाम हैं। हमारा लक्ष्य विजेताओं को निर्धारित करने के लिए अपनी लिस्ट को रैंडम ऑर्डर में पुनर्गठित करना है। ऐसा करने के लिए, हम random.shuffle() मेथड का उपयोग करेंगे।

यहां वह कोड है जिसका उपयोग हम अपनी लिस्ट के क्रम को रैंडमली पुनर्गठित करने के लिए कर सकते हैं ताकि हम अपने विजेताओं की पहचान कर सकें:

import random
raffle_entrants = ['Thomas Crane', 'Braden Cox', 'Adie Paulson', 'Leonardo Downs', 'Lindsay Knapp', 'Carl Sanderson']
print('Entrants (ordered)')
print(raffle_entrants)
print('Winners (random order)')
random.shuffle(raffle_entrants)
print(raffle_entrants)

हमारा फंक्शन निम्नलिखित लौटाता है:

Entrants (ordered)
['Thomas Crane', 'Braden Cox', 'Adie Paulson', 'Leonardo Downs', 'Lindsay Knapp', 'Carl Sanderson']
Winners (random order)
['Adie Paulson', 'Braden Cox', 'Carl Sanderson', 'Leonardo Downs', 'Thomas Crane', 'Lindsay Knapp']

पहली लाइन पर, हम पायथन इम्पोर्ट स्टेटमेंट का उपयोग करके random लाइब्रेरी को आयात करते हैं। इस लाइब्रेरी में random.shuffle() मेथड होता है जिसका उपयोग हम बाद में अपने कोड में करते हैं। फिर, हम raffle_entrants नामक एक पायथन वेरिएबल घोषित करते हैं जिसमें रैफ़ल में प्रवेश करने वाले सभी के नाम शामिल हैं।

अगली दो लाइनों पर, हम कंसोल पर एक संदेश प्रिंट करते हैं जिसमें Entrants (ordered) लिखा होता है, इसके बाद raffle_entrants लिस्ट की सामग्री होती है। यह हमें प्रोग्राम द्वारा इसे शफल करने से पहले हमारी लिस्ट देखने की अनुमति देता है।

हम कंसोल पर एक संदेश प्रिंट करते हैं जिसमें "Winners (random order)" लिखा होता है। हमारा कोड random.shuffle() मेथड का उपयोग करके हमारे raffle_entrants लिस्ट की सामग्री को शफल करता है। अंत में, हम random.shuffle() का उपयोग करके शफल किए जाने के बाद अपनी raffle_entrants लिस्ट को प्रिंट करते हैं।

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

हमारे कोड को सत्यापित करना

यदि हम अपना कोड फिर से चलाते हैं, तो हमें एक नई क्रमबद्ध पायथन लिस्ट मिलती है। यहां वह होता है जब हम अपना कोड दूसरी बार निष्पादित करते हैं:

Entrants (ordered)
['Thomas Crane', 'Braden Cox', 'Adie Paulson', 'Leonardo Downs', 'Lindsay Knapp', 'Carl Sanderson']
Winners (random order)
['Braden Cox', 'Lindsay Knapp', 'Carl Sanderson', 'Leonardo Downs', 'Thomas Crane', 'Adie Paulson']

इस प्रकार, यह स्पष्ट है कि random.shuffle() हर बार जब हम इसका उपयोग करते हैं तो एक रैंडमली संगठित लिस्ट लौटाएगा (तकनीकी रूप से, एक स्यूडो-रैंडमली संगठित लिस्ट)।

निष्कर्ष

आप पायथन में random.shuffle() मेथड का उपयोग करके एक लिस्ट में आइटम्स के क्रम को रैंडमाइज़ कर सकते हैं। हमारे उदाहरण में, random.shuffle() ने हमें एक प्रोग्राम बनाने में मदद की जो प्रवेशकों की लिस्ट से रैफ़ल विजेताओं को रैंडमली चुनता है।

क्या आप पायथन प्रोग्रामिंग के बारे में अधिक जानना चाहते हैं? हमारी "पायथन कैसे सीखें" गाइड पढ़ें। इस गाइड में, आपको पायथन सीखने पर शीर्ष सुझाव मिलेंगे। गाइड में सीखने के संसाधनों और पाठ्यक्रमों की एक सूची भी शामिल है जो आपके पायथन ज्ञान को आगे बढ़ाने में मदद करेंगे।


  1. - पायथन इनहेरिटेंस: एक चरण-दर-चरण मार्गदर्शिका

    पायथन इनहेरिटेंस तब होता है जब एक सबक्लास दूसरी क्लास के कोड का उपयोग करता है। ऑब्जेक्ट-ओरिएंटेड भाषाओं जैसे पायथन में इनहेरिटेंस एक आवश्यक विशेषता है जो कोडिंग को आसान और अधिक कुशल बनाती है। पायथन इनहेरिटेंस का परिचय पायथन एक ऑब्जेक्ट-ओरिएंटेड भाषा है, जिसका अर्थ है कि यह कोड के पुन: प्रयोज्य ब

  1. - पायथन रिवर्स लिस्ट: एक चरण-दर-चरण ट्यूटोरियल

    आप पायथन में बिल्ट-इन reverse() या reversed() मेथड्स का उपयोग करके एक सूची को उलट सकते हैं। ये मेथड्स एक नई सूची बनाए बिना सूची को उलट देंगे। पायथन reverse() और reversed() मूल सूची ऑब्जेक्ट में तत्वों को उलट देंगे। पायथन सूचियाँ और सूची स्लाइसिंग: एक रिफ्रेशर पायथन में, सूचियाँ आइटम्स की सरणियाँ

  1. पायथन इंटरप्रेटर्स: एक चरण-दर-चरण गाइड पायथन इंटरप्रेटर्स: एक चरण-दर-चरण गाइड

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