Python社区  »  Python

Python如何实现随机获取某个列表的值

redcohen • 5 月前 • 50 次点击  

有时候,我们在工作中,需要处理这样的需求:

每次访问,随机从一个现有的列表或者集合中,获取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]) # 三个随机元素

这个方法有个好处就是,可以简单实现一次取好几个随机元素。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/31756
 
50 次点击  
分享到微博