生成随机数
random模块
常用函数
random() —— 生成一个[0,1.0)之间的随机浮点数
uniform(a,b) —— 生成一个a到b之间的随机浮点数
randint(a,b) —— 生成一个a到b之间的随机整数
choice(<list>) —— 从列表中随机返回一个元素
shuffle(<list>) —— 将列表中元素随机打乱
sample(<list>,k) —— 从指定列表中随机获取k个元素
遍历列表获取每个元素的索引号及其元素值
enumerate()函数
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1)) # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
普通的for循环:
i = 0
seq = ['one', 'two', 'three']
for element in seq:
... print i, seq[i]
... i += 1
...
0 one
1 two
2 three
for 循环使用 enumerate:
seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
... print i, element
...
0 one
1 two
2 three
将对应点数和次数关联起来
zip()函数
用于将对应的元素打包成一个个元组
l1 = [1, 2, 3, 4, 5]
l2 = ['a', 'b', 'c', 'd', 'e']
zip(l1, l2)
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]
注意:元组中的元素是不可以修改的,若要修改需要转换成字典或其他
如dict(zip(l1, l2))
可视化
matplotlib模块
散点图绘制
import matplotlib.pyplot as plt
# x, y分别是x坐标和y坐标的列表
plt.scatter(x, y)
plt.show()
直方图绘制
plt.hist(data, bins(
data:数据列表
bins:分组边界
边界颜色edgecolor
边界线宽度linewidth
频率normed=1
plt.hist(roll_list, bins=range(2, 14), normed=1, edgecolor='black', linewidth=0.5)
解决中文显示问题:
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
NumPy
Numeric Python:用Python实现的科学计算库
包括:
1、强大的N维数组对象array
2、成熟的科学函数库
3、实用的线性代数、随机数生成函数等
NumPy的操作对象是多维数组ndarray
ndarray.shape 数组的维度
创建数组:np.array(<list>), np.arrange()…
改变数组的形状 reshape()
NumPy创建随机数组
np.random.randint(a, b, size)
创建[a, b)间形状为size的数组
例如:
import numpy as np
arr = np.random.randint(1, 10, (3, 4))
print(arr)