如何在Python中从另一个数组中随机填充数组?

时间:2015-11-18 15:35:07

标签: python python-3.x random-sample

rand_arr=[0, ]
def rand_key_gen(arr):
    for x in range(0, 25):
        rand_arr[x] = random.choice(arr)

这是不完整的。但这里的问题是我可能会再次获得相同的价值。我该如何规避这种情况?

3 个答案:

答案 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)

如果您想要一个较小的列表,可以使用切片。