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

相关推荐
重生之我是Java开发战士1 小时前
【递归、搜索与回溯】记忆化搜索:斐波那契数列,不同路径,最长递增子序列,猜数字游戏II,矩阵中最长递增路径
算法·leetcode·深度优先
Csvn1 小时前
异常处理与错误调试
python
Csvn1 小时前
Python 面向对象编程基础:类与对象
python
yy我不解释1 小时前
关于comfyui的mmaudio音频生成插件时时间不一致问题(四)(video upload)(解决方法)
开发语言·python·ai作画·音视频·comfyui
丝斯20111 小时前
AI学习笔记整理(76)——Python学习5
人工智能·笔记·学习
干啥啥不行,秃头第一名1 小时前
C++与机器学习框架
开发语言·c++·算法
2301_776508721 小时前
用Python和Twilio构建短信通知系统
jvm·数据库·python
hongtianzai1 小时前
Laravel7.x十大核心特性解析
java·c语言·开发语言·golang·php
无聊大侠hello world1 小时前
黑马大模型 RAG 与 Agent 实战学习笔记——智扫通 Agent 项目
笔记·学习
爱吃涮毛肚的肥肥(暂时吃不了版)1 小时前
Leetcode——181.超过经理收入的员工
算法·leetcode·职场和发展