python生成以
在下面的arr中,我想生成以“1”和“2”开头的随机数。如何做到这一点。我想总是以“1”和“2”开头,其余的可以是随机的python生成以,python,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 =
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)
改变你的选择声明
lines = random.sample(arr[:2],1) + random.sample(arr, 8)
Concat
['1','2']
,其余8个元素被洗牌
>>> ['1', '2'] + random.sample(arr[2:], 7)
['1', '2', '6', '3', '8', '7', '9', '5', '4']
您可以使用
random.randrange()
这里您必须给出起始和结束数字
import random
for i in range(50):
lines = random.randrange(120000000,130000000)
print lines
这将为您提供50个以1和2开头的随机数如果您想使用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]
前两个之后的元素永远不会包括
1