rand_arr=[0, ]
def rand_key_gen(arr):
for x in range(0, 25):
rand_arr[x] = random.choice(arr)
这是不完整的。但这里的问题是我可能会再次获得相同的价值。我该如何规避这种情况?
答案 0 :(得分:2)
您可以使用random.shuffle
从原始列表中获取随机列表。但是,当它改变原始列表时,首先制作原始列表的副本。
import random
shuffled_lst=lst[:]
random.shuffle(shuffled_lst)
print "Reshuffled list : ", shuffled_lst
答案 1 :(得分:2)
您使用random.sample
。它将从arr
:
import random
rand_arr = [0]
def rand_key_gen(arr):
rand_arr[:] = random.sample(arr, 25)
不需要循环,因为您可以通过slice assigment修改rand_arr
。
答案 2 :(得分:1)
如何使用random.shuffle
:
from random import shuffle
new_list = old_list[:] # copy
shuffle(new_list)
print(new_list)
如果您想要一个较小的列表,可以使用切片。