百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

如何在 Python 中随机排列列表元素

liuian 2025-02-18 12:23 42 浏览

在本教程中,我们将学习在 Python 中如何打乱列表元素顺序,随机排列列表元素。如何随机排列列表是一项非常有用的技能。它在开发需要选择随机结果游戏中非常有用。它还适用于数据相关的工作中,可能需要提取随机结果。

.shuffle 和 .sample 有什么区别?

Python 有一个非常有用的库来生成随机数,称为 random 我们将使用 random.shuffle() 和 random.sample() 函数来随机排列列表元素。在我们研究如何使用它们之前,让我们快速了解它们之间的差异。

random.shuffle() 和 random.sample() 这两个函数都返回一个随机排序的列表,但它们返回它们的方式是不同的:

random.shuffle():随机排列原始列表。

random.sample():返回基于原始列表的新随机列表。

random.sample()也可用于随机排列字符串和元组,它会创建一个新列表。

使用 random.shuffle() 随机排列列表元素

shuffle() 函数直接将序列的所有元素随机排序,没有返回值。

「shuffle() 语法格式:」

import random

random.shuffle(lst)

import random
list1 = [1, 2, 3, 4, 5, 6]
random.shuffle(list1)
print(list1)

使用 random.sample() 随机排列列表元素

sample() 返回一个从序列即列表、元组、字符串或集合中选择的特定长度的项目列表。用于无替换的随机抽样。

「sample() 语法格式:」

import random

random.sample(sequence, k)

「参数:」

sequence: 可以是一个列表,元组,字符串,或集合。

k: 一个整数值,它指定一个样本的长度。

返回:从序列中选择k长度的元素的新列表。

import random
list1 = [1, 2, 3, 4, 5, 6]
list2 = random.sample(list1, len(list1))
print(list2)

使用 random.seed() 固定随机排列结果

seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。

调用 random.random() 生成随机数时,每一次生成的数都是随机的。但是,当我们预先使用 random.seed(x) 设定好种子之后,其中的 x 可以是任意数字,如1,这个时候,先调用它的情况下,使用 random() 生成的随机数将会是同一个。

import random
list1 = [1, 2, 3, 4, 5, 6]
random.seed(1)
for i in range(5):
    random.shuffle(list1)
    print(list1)
# 输出:
[3, 4, 6, 1, 5, 2]
[3, 4, 6, 5, 2, 1]
[6, 1, 2, 5, 3, 4]
[4, 1, 2, 6, 3, 5]
[5, 6, 3, 4, 1, 2]

随机排列列表的子列表

在 Python 中,你经常会遇到多维列表,我们可以使用 for 循环访问列表列表中的每子列表,使用 shuffle() 函数来随机排列每个子列表的元素。

import random
list1 = [[1, 2], [3, 4], [5, 6]]
for i in list1:
    random.shuffle(i)
print(list1)

以相同的随机顺序排列多个列表

假设有两个列表:一个包含水果,另一个包含该水果的数量。对列表进行随机排列,但希望,两者一一对应。为了实现这一点,我们使用 zip() 函数将两个列表合并,然后随机排列列表。

import random
list1 = ['apples', 'grapes', 'oranges', 'bananas']
list2 = [50, 40, 60, 70]
list3 = list(zip(list1, list2))
random.shuffle(list3)
list1 = [item[0] for item in list3]
list2 = [item[1] for item in list3]
print(list1)
print(list2)

?

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

?

相关推荐

手机输入法怎么打繁体字(手机怎样输入繁体)

步骤如下:1.在手机设置页面找到输入法设置,如果能搜索,会帮助找到输入法设置页面。2.在系统的输入法设置页面,找到输入法自身的设置页面入口。3.在输入法自设难度设置页面,找到简繁切换的设置页面。4.勾...

photoshop 下载(photoshop下载需要花钱吗)

怎样下载photoshop的步骤方法如下面所示:1.首先第一步的步骤是在我们的电脑桌面上找到电脑管家并紧接着点击它(如果没有电脑管家需要提前安装)。2.然后一步的方法是点击屏幕右下方的工具箱。3.最后...

联想官方网站驱动下载官网(联想官方网站驱动下载官网安装)

拯救者官网下驱动的方法:打开联想服务官网(support.lenovo.com.cn),页面滚动下拉找到“帮助与支持”板块,点击“驱动和软件下载”。下载联想拯救者的驱动很简单。简单联想官网提供详细的驱...

win7一键重装(win7一键重装系统纯净版不需要激活哪个好)

1.制作一个u盘pe2.下载win7系统镜像到u盘里面3.u盘插入电脑4.启动电脑按F12或DE5.选择usb进入pe6.打开一键安装7.选择系统8.等待安装,都是自动安装无需手动9.安装系统完成后就...

硬盘低格工具软件(硬盘低格软件推荐)

万能低格工具llftool好万能低格工具llftool是一款强大易用的硬盘低级格式化软件,支持硬盘、移动硬盘、内存卡、u盘等等存储设备的低格功能,过程快速方便,性能安全稳定。另外,...

笔记本电脑过热保护自动关机
笔记本电脑过热保护自动关机

笔记本电脑发热可能是因为散热不行导致cpu过热自动关机保护,可以这样处理:1)清洁笔记本侧面和底部的散热孔,保证可以充分散热;2)外接风扇进行辅助散热,如问题依然存在,按照步骤3处理;3)拆卸后盖,清洁风扇叶片上的灰尘,同时,更换导热片下方...

2026-01-12 01:55 liuian

英特尔cpu查询(英特尔cpu查询保修)

英特尔官网序列号的查询,1可以通过BIOS设置或者CPU-Z等软件查询英特尔序列号。2英特尔序列号是由英特尔公司推出的一种唯一标识符,用于区分不同的处理器芯片。3除了查询英特尔序列号,CPU-Z...

电脑可以还原系统吗(电脑可以还原到出厂设置吗)

方法/步骤分步阅读1/11Windows7系统打开或者关闭系统还原点的方法Windows7系统关闭系统还原右键桌面计算机图标-属性;2/11在打开的系统窗口,我们点击左侧的高级系统设置;3/11在...

visio软件密钥(microsoft visio密钥)

在控制面板\所有控制面板项\程序和功能中找到,右键----更改

1920x1080和2k差别大么(4k为啥没1080p清晰)

区别:图像清晰度不同。2K的清晰度高于1920×1080。电视或显示屏领域上,1080P,一般对应1920*1080分辨率,2K则对应2560*1440分辨率。两者的主要区别在于像素点的多少,在尺寸相...

路由器恢复出厂设置会怎么样

现在的很多路由器都很智能化,我们在日常使用的时候,很多时候出现卡死或者忘记了路由器的登录密码等问题,这个时候我们就需要对路由器进行重置或者是恢复出厂设置,这样就可以用初始化的用户名和密码登录路由器了...

电脑密码忘了如何取消开机密码

1/5第一种方法:在开机时,按下F8进入带命令提示符的安全"模式输入"netuser+用户名+123456/add"可把自己的密码设置为"123456",这样进入控制面板就可以清除自己用户密码了。...

安卓手机exe文件怎么打开(安卓手机用什么打开exe文件)

在Android操作系统中,通常情况下是无法直接运行.exe文件的,因为Android手机和Windows操作系统在底层架构上存在较大差异。不过,有一些方法可以让Android手机...

声卡怎么安装在电脑主机上(声卡怎么插到电脑上)

安装电脑主机的声卡通常需要进行以下步骤:1.确认声卡的类型:首先,确定您要安装的声卡类型,是内置声卡还是外部插卡声卡。内置声卡通常已经集成在主板上,而外部插卡声卡需要插入主板的PCIe插槽或其他的扩...

hplaserjet1020驱动下载 win10

您好,感谢您选择惠普产品。首先确认打印机本身无报错请您点击开始--设置--打印机和传真(设备和打印机)--看到打印机图标把鼠标放在图标上确认状态文档是否为就绪文档0如果不是建议删除文档重启电脑,...