python常用模块-随机数
作用:参数随机数
import random # random.random() 产生大于0小于1之间的随机的小数,每次生成都不一样 >>> random.random() 0.7579544029403025 >>> random.random() 0.420571580830845 >>> random.random() 0.25891675029296335 # random.seed(a=None):当我们设置相同的seed,每次生成的随机数相同,如果不设置seed,则每次会生成不同的随机数 >>> random.seed(0) >>> random.random() 0.8444218515250481 >>> random.seed(0) >>> random.random() 0.8444218515250481 >>> random.seed(2) >>> random.uniform(1,3) 2.9120685437784988 >>> random.seed(2) >>> random.uniform(1,3) 2.9120685437784988 >>> random.seed(1) >>> random.randint(1,4) 2 >>> random.seed(1) >>> random.randint(1,4) 2 # random.uniform(a,b) 产生a, b范指定围内随机小数 >>> random.uniform(1,2) 1.9081128851953353 >>> random.uniform(1,2) 1.583382039455031 >>> random.uniform(1,3) 2.0093737116347805 # random.randint(a,b) 产生a,b范围内随机整数,包含a,b >>> random.randint(1,3) 3 >>> random.randint(1,3) 1 >>> random.randint(1,3) 2 # random.randrange(a,b,c) 产生a, b范围内的整数,包含开头不包含结尾, c是步长 >>> random.randrange(1,3) 1 >>> random.randrange(1,3) 1 >>> random.randrange(1,3) 2 >>> random.randrange(1,5,2) # 1 和 3 3 >>> random.randrange(1,5,2) 1 >>> random.randrange(1,5,2) 1 # random.choice(lst) 随机返回序列中的一个数据(列表、元祖、字符串) (字典和集合不行) >>> stus=['xiaojun','hailong','yangfan','tanailing','yangyue','cc'] >>> random.choice(stus) 'yangyue' >>> random.choice(stus) 'cc' >>> random.choice(stus) 'hailong' >>> tuple1 = (1,3,4,5,6) >>> random.choice(tuple1) 5 >>> random.choice(tuple1) 5 >>> random.choice(tuple1) 6 >>> random.choice('hello') 'l' >>> random.choice('hello') 'o' >>> random.choice('hello') # 通过列表推倒式也是可以做到在序列中筛选的 length = 12 allowed_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' random.seed(1) # 为了控制返回的结果一致性 result = ''.join(random.choice(allowed_chars) for i in range(length)) # print(result) #random.sample(lis,N) 随机取出序列中N个元素,除了字典,其他序列(列表、元祖、字符串、集合)都可以 >>> list1 = ['xiaojun','hailong','yangfan','tanailing','yangyue','cc'] >>> random.sample(list1,3) ['yangfan', 'tanailing', 'cc'] >>> random.sample(list1,3) ['tanailing', 'cc', 'hailong'] >>> random.sample(list1,3) ['yangyue', 'hailong', 'cc'] >>> random.sample('hello', 3) ['l', 'e', 'h'] >>> random.sample('hello', 3) ['o', 'l', 'l'] >>> random.sample((1,3,4,5,6), 3) [6, 3, 5] >>> random.sample((1,3,4,5,6), 3) [5, 4, 6] #random.shuffle() 打乱列表顺序,只能是列表,且没有返回值,改变了列表本身 >>> list2 = [1,2,3,4,5,6] >>> random.shuffle(list2) >>> list2 [1, 3, 2, 5, 4, 6] >>> random.shuffle(list2) >>> list2 [4, 1, 6, 2, 3, 5] # random.getstate() # 返回一个当前生成器的内部状态的对象。

浙公网安备 33010602011771号