码迷,mamicode.com
首页 > 其他好文 > 详细

从列表中取随机数

时间:2018-10-10 14:31:21      阅读:778      评论:0      收藏:0      [点我收藏+]

标签:bsp   重复   技能   get   print   append   pen   new   class   

题目是:有100颗龙珠,但是只有指定的7颗凑在一起才有用,每次7颗的号码都不一样,如果你是天神,怎么去指定这7颗龙珠?(这题目是我瞎编的)

以下有2种思路去实现

1. 把那列表任意排列,截取尾巴上面的指定长度

import random

total = 100
onetime = 7

x_list = [i for i in range(1, total+1)]

# 这个是打乱一个列表的方法,shuffle是random模块-->Random类-->shuffle方法
# _inst = Random()
# shuffle = _inst.shuffle
# 通过这来调用,又get到一个新技能
random.shuffle(x_list)

new_list = x_list[(-1 * onetime):]

print(sorted(new_list))

 

2. 每次都从列表里面随机取一个数,连取7次

import random

total = 100
onetime = 7

old_list = [i for i in range(1, total+1)]
new_list = []

for _ in range(0, onetime):
    # 这里的k可以为任意整数,返回的是一个列表,但是列表里面有重复值,所以我每次只取一个
    a = random.choices(old_list, k=1)
    num = a[0]
    old_list.remove(num)
    new_list.append(num)

print(sorted(new_list))

 大家觉得哪种好呢?

从列表中取随机数

标签:bsp   重复   技能   get   print   append   pen   new   class   

原文地址:https://www.cnblogs.com/ddzj01/p/9765449.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!