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实现批量检测HTTP服务的状态
Oct 27 Python
微信跳一跳小游戏python脚本
Jan 05 Python
python3+PyQt5实现拖放功能
Apr 24 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
Apr 26 Python
Python随机生成身份证号码及校验功能
Dec 04 Python
python导入模块交叉引用的方法
Jan 19 Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 Python
对python 中re.sub,replace(),strip()的区别详解
Jul 22 Python
Python定时任务随机时间执行的实现方法
Aug 14 Python
Python实现播放和录制声音的功能
Aug 12 Python
Django web自定义通用权限控制实现方法
Nov 24 Python
Python采集股票数据并制作可视化柱状图
Apr 04 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
全面解读PHP的人气开发框架Laravel
2015/10/15 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
js原型链原理看图说明
2012/07/07 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
2015/12/13 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
javascript连接mysql与php通过odbc连接任意数据库的实例
2017/12/27 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
2019/08/14 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
基于python实现从尾到头打印链表
2019/11/02 Python
Python基于requests库爬取网站信息
2020/03/02 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
python3中for循环踩过的坑记录
2020/12/14 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
2014大学生党员评议个人总结
2014/09/22 职场文书
计算机教师工作总结
2015/08/13 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书