令人惊讶的是,Random.shuffle在循环内不起作用

时间:2019-11-01 16:59:59

标签: python python-3.x random shuffle

Random.shuffle令人惊讶地无法在循环内运行,它总是产生相同的混洗列表,但是我需要按顺序排列19个不同列表:

m==1

我看了很多教程,并且期望seed()可以解决这个问题,但是我认为这是不当行为。每次运行都会随机播放,但不会循环播放。

1 个答案:

答案 0 :(得分:3)

shuffle就位,并且您的列表包含对同一列表的19个引用,而不是每次混洗都产生的单独列表。

改为存储改组列表的副本。

for i in range(19):
    random.shuffle(candidates_random_list)
    candidates_full_list.append(candidates_random_list[:])