在下面的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)
答案 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]