python 从list中随机取值的方法
作者:诸葛老刘 发布时间:2021-10-06 04:08:11
标签:python,list,随机取值
第一种方法(推荐)
适用于随机取一个值, 返回一个值
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]: ['王五', '王五']
来源:https://blog.csdn.net/weixin_39791387/article/details/84958436
0
投稿
猜你喜欢
- 可能各位朋友看到这个标题很不解,到底什么是习惯化,什么又是去习惯化?下面我来慢慢介绍我的个人理论。习惯化:随着对刺激的熟悉,人们越来越注意不
- 1.创建tfrecordtfrecord支持写入三种格式的数据:string,int64,float32,以列表的形式分别通过tf.trai
- 整个安装流程如下: 1,首先安装apache:我安装的版本是: httpd-2.2.16-win32-x86-openssl-0.9.8o.
- 1)视频读取import cv2cap = cv2.VideoCapture('E:\\Video\\20000105_224116
- 很久没写blog,太忙了。没什么时间写复杂的东西,重新把颜色渐变效果写一遍。关于颜色的效果一般就两个,颜色梯度变化和样式的颜色渐变,前者在i
- python使用函数改变list函数内改变外部的一个list如果这么写def rotate(nums, k): l
- 一、背景我们在进行代码调试时,通常使用两种方式。print 输出调试的内容或者标识通过断点调试debug但是我想知道代码的中间的每一行程序运
- 如何去读取一个没有表头的二维csv文件(如下图所示)?并以元组的形式表现数据:((1.0, 0.0, 3.0, 180.0), (2.0,
- 前言小伙伴a,b,c围着吃火锅,当菜上齐了,请客的主人说:开吃!,于是小伙伴一起动筷子,这种场景如何实现Event(事件)Event(事件)
- 本文实例讲述了Python基于最小二乘法实现曲线拟合。分享给大家供大家参考,具体如下:这里不手动实现最小二乘,调用scipy库中实现好的相关
- 在网上游荡,看着别人的精彩主页难免心里痒痒的,但自己精心布置的家(个人主页),如果在不同的浏览器中呈现
- 用python实现的抓取腾讯视频所有电影的爬虫# -*- coding: utf-8 -*-import reimport urllib2f
- 本文实例为大家分享了java正则表达式工具类的具体代码,供大家参考,具体内容如下import com.google.common.base.
- list1 和list2 两个list , 想要得到list1是不是包含 list2 (是不是其子集 )a = [1,2] b = [1,2
- python数据结构之 列表和元组序列:序列是一种数据结构,它包含的元素都进行了编号(从0开始)。典型的序列包括列表、字符串和元组。其中,列
- 一、代码注释介绍注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解
- 需求目标执行Python程序的时候在控制台输出内容的时候只显示一行,然后自动刷新内容,像这样:Downloading File FooFil
- Readme:blog address:摘要:编写登录接口输入用户名、密码认证成功后显示欢迎信息输错3次后锁定关键词:循环;判断;外部数据读
- 比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作 s.decode('gbk').encode(
- 我就废话不多说了,还是直接看代码吧!import osimport timeimport mmapfilename = 'test.