使用random.shuffle() 之后如何 追踪原始索引 匹配打乱list与原始list索引关系

要在使用 random.shuffle() 打乱列表后追踪原始索引,你可以在打乱列表之前创建一个索引列表,并一同打乱。这样,你可以追踪打乱后的列表与原始列表的索引关系。以下是一个示例:

import random

# 原始列表
original_list = ['a', 'b', 'c', 'd', 'e']

# 创建索引列表
index_list = list(range(len(original_list)))

# 使用 zip() 函数将原始列表与索引列表组合
zipped_list = list(zip(original_list, index_list))

# 打乱组合后的列表
random.shuffle(zipped_list)

# 解压缩新列表,以获得打乱后的列表和相应的原始索引
shuffled_list, original_indices = zip(*zipped_list)

# 将结果转换为list类型
shuffled_list = list(shuffled_list)
original_indices = list(original_indices)

print("Shuffled list:", shuffled_list)
print("Original indices:", original_indices)

这样,shuffled_list 就是打乱后的列表,original_indices 是与之对应的原始索引。通过 original_indices,你可以追踪与原始列表的索引关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UCAS_V

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值