随机创建N个K大小的列表的Python程序

当需要随机创建 N 个大小为 K 的列表时,定义了一种方法来对值进行混洗并产生输出。

示例

下面是相同的演示

from random import shuffle

def gen_random_list(my_val, K):
   while True:
      shuffle(my_val)
      yield my_val[:K]

my_list = [12, 45, 76, 32, 45, 88, 99, 0, 1]
print("名单是 ")
print(my_list)

K, N = 4, 5
print("K 的值是 ")
print(K)
print("N 的值为 ")
print(N)

my_result = []
for elem in range(0, N):
   my_result.append(next(gen_random_list(my_list, K)))

print("结果是 " )
print(my_result)
输出结果
名单是
[12, 45, 76, 32, 45, 88, 99, 0, 1]
K 的值是
4
N 的值为
5
结果是
[[88, 76, 99, 12], [12, 99, 32, 76], [32, 76, 12, 99], [32, 45, 0, 12], [76, 0, 1, 45]]

解释

  • 所需的包被导入到环境中。

  • 定义了一个名为“gen_random_list”的方法,它采用一个值和“K”作为参数。

  • 它使用“shuffle”方法和“yield”运算符以及切片来给出结果。

  • 在该方法之外,定义了一个列表并显示在控制台上。

  • K 和 N 的值已定义并显示在控制台上。

  • 定义了一个空列表。

  • 迭代 0 到 N 之间的范围,并调用该方法并将结果附加到空列表中。

  • 这在控制台上显示为输出。