python生成随机列表

时间:2013-05-08 11:21:12

标签: python

在下面的arr我想生成以“1”和“2”开头的随机数如何做到这一点..我想要始终以“1”和“2”开头,其余的可以是随机的

example output : 123456789
                 123478956
                 124568973
                 123789456   



 arr=["1","2","3","4","5","6","7","8","9"]

 for i in range(50):
   lines = random.sample(arr, 9) //I want always to start with "1" and "2" and the rest can be random
   print "%s"%''.join(lines)

4 个答案:

答案 0 :(得分:0)

更改您的选择陈述

lines = random.sample(arr[:2],1) + random.sample(arr, 8) 

答案 1 :(得分:0)

Concat ['1', '2'],其余8个元素随机播放。

>>> ['1', '2'] + random.sample(arr[2:], 7)
['1', '2', '6', '3', '8', '7', '9', '5', '4']

答案 2 :(得分:0)

您可以使用random.randrange()这里必须提供开始和结束的数字。

import random

for i in range(50):
        lines = random.randrange(120000000,130000000)
        print lines

这将为您提供50个以1和2开头的随机数

答案 3 :(得分:0)

如果你想使用python的一个很好的功能,你可以使用一个生成器来提高内存效率:

from random import randrange

def onetworandom(length):
    yield 1
    yield 2
    for i in range(length-2):
        yield randrange(0,10)

myvalue = [x for x in onetworandom(10)]

print myvalue
[1, 2, 8, 2, 9, 2, 6, 7, 6, 1]