python代码如下:
import random
k = 2
arr = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
every_len = int(len(arr) / k)
arr_flag = []
random_num = []
index = 0
for i in range(len(arr)):
arr_flag.append(True)
random_num.append(index)
index += 1
random.shuffle(random_num)
result_arr = []
every_arr = []
index = 0
for i in range(0, len(arr) - 1, every_len):
index += 1
for j in range(every_len):
every_arr.append(arr[random_num[i]])
i += 1
result_arr.append(every_arr)
every_arr = []
if index >= k:
break
for i in range(len(random_num) - len(result_arr) * every_len):
result_arr[i].append(arr[random_num[len(arr) - 1 - i]])
print(result_arr)
随便给出一个数组,分组数k=2,运行代码,得到结果如下:
[[‘b’, ‘i’, ‘g’, ‘f’, ‘e’], [‘c’, ‘a’, ‘d’, ‘h’, ‘j’]]
可以看到数组元素已被随机分为2个数组,且分组较为均匀