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接收Gmail新邮件并发送到gtalk的方法
Mar 10 Python
Python字符串处理实例详解
May 18 Python
Python实现简易Web爬虫详解
Jan 03 Python
使用Django和Python创建Json response的方法
Mar 26 Python
python list元素为tuple时的排序方法
Apr 18 Python
python3+PyQt5 实现Rich文本的行编辑方法
Jun 17 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
Aug 24 Python
Python中Flask-RESTful编写API接口(小白入门)
Dec 11 Python
python re模块匹配贪婪和非贪婪模式详解
Feb 11 Python
Python修改DBF文件指定列
Dec 19 Python
python基于turtle绘制几何图形
Jun 15 Python
Python自动化实战之接口请求的实现
May 30 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
第六节--访问属性和方法
2006/11/16 PHP
深入php 正则表达式的学习探讨
2013/06/06 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
锋利的jQuery 第三章章节总结的例子
2010/03/23 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
js实现自动轮换选项卡
2017/01/13 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
python执行使用shell命令方法分享
2017/11/08 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
python正则-re的用法详解
2019/07/28 Python
python机器学习库xgboost的使用
2020/01/20 Python
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
C/C++程序员常见面试题二
2015/11/19 面试题
学校经典推荐信
2013/10/30 职场文书
业务代表的岗位职责
2013/11/16 职场文书
机械专业技术员求职信
2014/06/14 职场文书
2014年纪委工作总结
2014/12/05 职场文书
医德医风自我评价2015
2015/03/03 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android
mysql的Buffer Pool存储及原理
2022/04/02 MySQL