【1】引言
之前学习了一些random系列的简单用法,比如random.gauss()函数和numpy.random.normal()函数生成正态分布随机数,这些数据都是随机生成的,有时候,如果数据本身有规律,我们想让它们被随机读取,这时候就会用到random.shuffle()函数。
【2】random.shuffle()函数
random.shuffle()函数的使用比较简单,直接给出代码:
python
import random
my_list = [1, 2, 3, 4, 5]
# 原地打乱列表
random.shuffle(my_list)
# 输出随机打乱后的列表
print(my_list)
代码运行后的效果为:
这是面对一维数据,如果是二维数据,可以只在每一行内部打乱,也可以行列都打乱。
python
import random
# 打乱行
my_list = [[1, 2, 3],
[3, 4, 5],
[3,2,1]]
# 打乱行,行内部保持不变
random.shuffle(my_list)
# 输出随机打乱后的列表
print(my_list)
# 行内打乱列
my_listi = [[1, 2, 3],
[3, 4, 5],
[3,2,1]]
# 仅打乱每一行内部元素
for inlist in my_listi:
random.shuffle(inlist)
print(my_listi)
# 先打乱行,后打乱行内列
my_listj = [[1, 2, 3],
[3, 4, 5],
[3,2,1]]
# 先打乱行
random.shuffle(my_listj)
# 再打乱列元素
for inlist in my_listj:
random.shuffle(inlist)
print(my_listj)
代码运行后的效果为:
【3】总结
学习了random.shuffle()函数随机打乱数据的基本技巧。