Python如何实现随机获取某个列表的值
2019-04-17 本文已影响6人
redcohen
有时候,我们在工作中,需要处理这样的需求:
每次访问,随机从一个现有的列表或者集合中,获取1个值,或者若干个值。
一般的实现方法呢,有两种。
第一种,用随机数法
就是用random包的产生随机数的能力来实现。
假设有个列表list1
,那么,我们可以先获取它的大小len
,然后就可以产生一个[1,len]之间的随机整数,然后直接用下表获取到元素。
import random
lst = ['a', 1, 2,'b','hello']
i = random.randint(1,len(lst))
print (lst[i-1])
第二种方法:shuffle方法
利用我们前面一篇介绍的shuffle函数。
先把list进行洗牌,然后取第一个元素就可以了。
random.shuffle(lst)
print(lst[0]) # 一个随机元素
print(lst[0:3]) # 三个随机元素
这个方法有个好处就是,可以简单实现一次取好几个随机元素。