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 相关文章推荐
使用PyInstaller将Python程序文件转换为可执行程序文件
Jul 08 Python
python安装cx_Oracle模块常见问题与解决方法
Feb 21 Python
用virtualenv建立多个Python独立虚拟开发环境
Jul 06 Python
Python实现的计数排序算法示例
Nov 29 Python
python生成器,可迭代对象,迭代器区别和联系
Feb 04 Python
python通过zabbix api获取主机
Sep 17 Python
Python3远程监控程序的实现方法
Jul 15 Python
详解Django-channels 实现WebSocket实例
Aug 22 Python
python实现滑雪者小游戏
Feb 22 Python
最小二乘法及其python实现详解
Feb 24 Python
Keras自定义IOU方式
Jun 10 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 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 生成文字png图片的代码
2011/04/17 PHP
PHP中改变图片的尺寸大小的代码
2011/07/17 PHP
php7 新增功能实例总结
2020/05/25 PHP
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
javascript的BOM汇总
2015/07/16 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
JavaScript实现美化滑块效果
2019/05/17 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
2019/12/20 Javascript
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python调用java的Webservice示例
2014/03/10 Python
python创建文件备份的脚本
2018/09/11 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
益模软件Java笔试题
2012/03/27 面试题
出国签证在职证明
2014/01/16 职场文书
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
现场活动策划方案
2014/08/22 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
超强台风观后感
2015/06/09 职场文书
追悼会悼词大全
2015/06/23 职场文书
欢送领导祝酒词
2015/08/12 职场文书
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
2021/05/27 Servers