使用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,你可以追踪与原始列表的索引关系。

猜你喜欢

转载自blog.csdn.net/qq_22815083/article/details/130281533