python 从list中随机取值的方法


Posted in Python onNovember 16, 2020

第一种方法(推荐)

适用于随机取一个值, 返回一个值

import random
list1 = ['佛山', '南宁', '北海', '杭州', '南昌', '厦门', '温州']
a = random.choice(list1)
print(a)
# 返回一个值

第二种方法

适用于随机取一组值, 返回一个list

import random
list1 = ['佛山', '南宁', '北海', '杭州', '南昌', '厦门', '温州']
# 随机返回只有一个值的list
a = random.sample(list1, 1) 

# 随机返回只有一个值的list
b = random.sample(list1, 3) 
print(a)
print(b)
# 返回list

第三种方法(不推荐,效率太慢)

自写的方法

import random
list1 = ['佛山', '南宁', '北海', '杭州', '南昌', '厦门', '温州']
ln = len(list1)
a = list1[random.randint(0, ln)]
print(a)

第四种方法(特殊场景)

这里的特殊场景举例说明:
抽奖: 从10个人随机抽出1个有奖的, 按随机分配, 每个人的概率都是十分之一, 但是否可以在代码层面, 让某个人的概率更高些呢?

答案当然是可以的了

上码:

In [1]: import random
# 这里给李四个权重为1,看看有什么结果
In [2]: a = {"张三": 0, "李四":1, "王五":0, "赵七": 0, "钱八": 0}
# 取5次, 每次都是李四, 
In [3]: random.choices(list(a.keys()), weights=list(a.values()), k=5)
Out[3]: ['李四', '李四', '李四', '李四', '李四']
# 取1次, 当然就是李四了
In [4]: random.choices(list(a.keys()), weights=list(a.values()), k=1)
Out[4]: ['李四']
# 改下权重:李四和赵七都为1
In [5]: a = {"张三": 0, "李四":1, "王五":0, "赵七": 1, "钱八": 0}
# 取5次,也就是李四和赵七两个人, 没有其它人什么事了
In [6]: random.choices(list(a.keys()), weights=list(a.values()), k=5)
Out[6]: ['李四', '李四', '李四', '赵七', '李四']

In [7]: random.choices(list(a.keys()), weights=list(a.values()), k=5)
Out[7]: ['赵七', '李四', '李四', '李四', '赵七']

In [8]: random.choices(list(a.keys()), weights=list(a.values()), k=5)
Out[8]: ['李四', '赵七', '李四', '李四', '赵七']
# 再改一下, 每个人的权重都不一样, 
In [9]: a = {"张三": 2, "李四":1, "王五":3, "赵七": 1, "钱八": 4}
# 多执行几次, 会发现每个人都可能会出现, 只是出现的概率完全不一样了, 钱八出现次数最多.
In [10]: random.choices(list(a.keys()), weights=list(a.values()), k=2)
Out[10]: ['王五', '赵七']

In [11]: random.choices(list(a.keys()), weights=list(a.values()), k=2)
Out[11]: ['王五', '王五']

到此这篇关于python 从list中随机取值的方法的文章就介绍到这了,更多相关python list随机取值内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现zencart产品数据导入到magento(python导入数据)
Apr 03 Python
python根据时间生成mongodb的ObjectId的方法
Mar 13 Python
Python实现新浪博客备份的方法
Apr 27 Python
ubuntu系统下 python链接mysql数据库的方法
Jan 09 Python
对pandas中两种数据类型Series和DataFrame的区别详解
Nov 12 Python
python将txt文件读取为字典的示例
Dec 22 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
Django REST framework 分页的实现代码
Jun 19 Python
django 框架实现的用户注册、登录、退出功能示例
Nov 28 Python
Python代码中如何读取键盘录入的值
May 27 Python
Python函数参数分类原理详解
May 28 Python
python搜索算法原理及实例讲解
Nov 18 Python
python实现在列表中查找某个元素的下标示例
Nov 16 #Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 #Python
Python实现列表索引批量删除的5种方法
Nov 16 #Python
Python 列表反转显示的四种方法
Nov 16 #Python
python 爬虫如何实现百度翻译
Nov 16 #Python
Python list和str互转的实现示例
Nov 16 #Python
python list的index()和find()的实现
Nov 16 #Python
You might like
克隆一个新项目的快捷方式
2013/04/10 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
img的onload的另类用法
2008/01/10 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
js实现卡片式项目管理界面UI设计效果
2015/12/08 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
Vue.js进行查询操作的实例详解
2017/08/25 Javascript
详解Vue双向数据绑定原理解析
2017/09/11 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
python利用hook技术破解https的实例代码
2013/03/25 Python
在 Python 应用中使用 MongoDB的方法
2017/01/05 Python
Python中生成Epoch的方法
2017/04/26 Python
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
使用EduBlock轻松学习Python编程
2018/10/08 Python
Python实战之制作天气查询软件
2019/05/14 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
Python逐行读取文件内容的方法总结
2020/02/14 Python
使用 Python 遍历目录树的方法
2020/02/29 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
python归并排序算法过程实例讲解
2020/11/04 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
服务中心夜班服务员岗位职责
2013/11/27 职场文书
行政总监岗位职责
2013/12/05 职场文书
保护母亲河倡议书
2014/04/14 职场文书
2014年公务员工作总结
2014/11/18 职场文书
中秋联欢会主持词
2015/07/04 职场文书