2010-08-24 24 views
16

पायथन में किसी दिए गए रेंज की संख्या से निर्धारित निश्चित लंबाई की यादृच्छिक (लेकिन अद्वितीय और क्रमबद्ध) सूची कैसे उत्पन्न करें?दिए गए सीमा से मूल्यों की निश्चित लंबाई की यादृच्छिक सूची कैसे उत्पन्न करें?

कुछ इस तरह:

>>> list_length = 4 
>>> values_range = [1, 30] 
>>> random_list(list_length, values_range) 

[1, 6, 17, 29] 

>>> random_list(list_length, values_range) 

[5, 6, 22, 24] 

>>> random_list(3, [0, 11]) 

[0, 7, 10] 
+3

डुप्लिकेशंस के साथ या बिना? (यानी '[1,4,7,1]' आउटपुट के रूप में अनुमति है?) – kennytm

उत्तर

34

अनुक्रम की अनूठी वस्तुओं की इस रिटर्न की तरह एक यादृच्छिक नमूना। सीमा में यादृच्छिक पूर्णांक के साथ इसे भ्रमित मत करो।

>>> import random 
>>> random.sample(range(30), 4) 
[3, 1, 21, 19] 
+6

'random.sample' अनुक्रम के * अद्वितीय * आइटम की वापसी सूची। – phadej

+0

धन्यवाद! मैं उपरोक्त उदाहरण से मेल खाने के लिए एक चर के लिए असाइनिंग परिणाम जोड़ रहा हूं और variable.sort() कर रहा हूं, लेकिन मैंने स्पष्ट रूप से इसके लिए नहीं पूछा था, इसलिए, आपका समाधान सबसे अच्छा है। – user63503

8

random.randrange और सूची समझ का एक संयोजन काम करेगा।

import random 
[random.randrange(1, 10) for _ in range(0, 4)] 
+0

आपको गिनती के बजाय _ (अंडरस्कोर) चर का उपयोग करने पर विचार करना चाहिए। – Soravux

+0

@ सोरावक्स: सहमत हैं। बदला हुआ। धन्यवाद। –

+2

_ (अंडरस्कोर) का उपयोग करना बेहतर क्यों है? – Norfeldt

संबंधित मुद्दे

 संबंधित मुद्दे