python如何有比重的随机取值? (要求代码简单高效)

Python014

python如何有比重的随机取值? (要求代码简单高效),第1张

python中没有你所期望的那种直接搞定的函数,都要自己改造一下的,你现在用的random.randint(1,10)这种方法没什么问题,而且并不算笨方法,代码效率也不算低。

还有一种方法是利用random中的choice函数,random.choice的功能是从序列中获取一个随机元素,编程思想是将要随机输出的元素按不同个数添加到一个列表中,然后利用random.choice,从中随机选取一个。

=====================================================

代码如:

def randomchice(a,b,c,d,fa,fb,fc,fd):

import random

tl=[]

for i in range(0,fa):tl.append(a)

for i in range(0,fb):tl.append(b)

for i in range(0,fc):tl.append(c)

for i in range(0,fd):tl.append(d)

return random.choice(tl)

使用时只需输入如:

print randomchice('zhangsan','lisi','wangwu','zhouqi',50,20,25,5,)

=====================================================

python所追求的不是速度效率而是代码效率,用python写的代码够简洁清晰就行,如果要求速度的话,那可以嵌入c语言,那样效率比python高至少100倍。

希望对你有所帮助。

1、Python数据分析流程及学习路径

数据分析的流程概括起来主要是:读写、处理计算、分析建模和可视化四个部分。在不同的步骤中会用到不同的Python工具。每一步的主题也包含众多内容。

根据每个部分需要用到的工具,Python数据分析的学习路径如下:

相关推荐:《Python入门教程》

2、利用Python读写数据

Python读写数据,主要包括以下内容:

我们以一小段代码来看:

可见,仅需简短的两三行代码即可实现Python读入EXCEL文件。

3、利用Python处理和计算数据

在第一步和第二步,我们主要使用的是Python的工具库NumPy和pandas。其中,NumPy主要用于矢量化的科学计算,pandas主要用于表型数据处理。

4、利用Python分析建模

在分析和建模方面,主要包括Statsmdels和Scikit-learn两个库。

Statsmodels允许用户浏览数据,估计统计模型和执行统计测试。可以为不同类型的数据和每个估算器提供广泛的描述性统计,统计测试,绘图函数和结果统计列表。

Scikit-leran则是著名的机器学习库,可以迅速使用各类机器学习算法。

5、利用Python数据可视化

数据可视化是数据工作中的一项重要内容,它可以辅助分析也可以展示结果。