-1

在下面的 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

4 回答 4

0

更改您的选择声明

lines = random.sample(arr[:2],1) + random.sample(arr, 8) 
于 2013-05-08T11:23:50.300 回答
0

Concat['1', '2']与其余 8 个元素混洗。

>>> ['1', '2'] + random.sample(arr[2:], 7)
['1', '2', '6', '3', '8', '7', '9', '5', '4']
于 2013-05-08T11:25:29.257 回答
0

你可以random.randrange()在这里使用你必须给出开始和结束的数字。

import random

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

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

于 2013-05-08T11:43:08.163 回答
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]
于 2013-05-08T12:02:35.540 回答