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