从列表中取随机数

Posted ddzj01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从列表中取随机数相关的知识,希望对你有一定的参考价值。

题目是:有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))

 大家觉得哪种好呢?

以上是关于从列表中取随机数的主要内容,如果未能解决你的问题,请参考以下文章

从 List<E> 中取 n 个随机元素?

python怎么随机取列表的值

如何从这个文本列表中取第一行?

如何从片段内的列表视图打开链接网址?

Random模块

Android,从其他片段返回的空列表视图