random.shuffle()函数随机打乱数据

【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()函数随机打乱数据的基本技巧。

相关推荐
被AI抢饭碗的人20 小时前
算法题(240):最大食物链计数
算法
熬了夜的程序员20 小时前
【LeetCode】82. 删除排序链表中的重复元素 II
数据结构·算法·leetcode·链表·职场和发展·矩阵·深度优先
欧克小奥21 小时前
Floyd判圈算法(Floyd Cycle Detection Algorithm)
算法·floyd
无敌最俊朗@21 小时前
解决 QML 中使用 Qt Charts 崩溃的三个关键步骤
开发语言·qt
星期天要睡觉21 小时前
大模型(Large Language Model, LLM)——什么是大模型,大模型的基本原理、架构、流程
人工智能·python·ai·语言模型
会飞的小新21 小时前
C 标准库之 <errno.h> 详解与深度解析
c语言·开发语言
Q_Q196328847521 小时前
python+uniapp基于微信美食点餐系统小程序
spring boot·python·微信·django·flask·uni-app·node.js
KIKIiiiiiiii21 小时前
微信个人号开发中如何高效实现API二次开发
java·前端·python·微信
胡八一21 小时前
30 分钟上手 exp4j:在 Java 中安全、灵活地计算数学表达式
java·开发语言·安全
山顶听风21 小时前
Flask应用改用Waitress运行
前端·笔记·python·flask