크기가 K인 N개의 목록을 무작위로 생성해야 하는 경우 값을 섞고 출력을 생성하는 메서드가 정의됩니다.
예시
아래는 동일한 데모입니다.
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("The list is ")
print(my_list)
K, N = 4, 5
print("The value of K is ")
print(K)
print("The value of N is ")
print(N)
my_result = []
for elem in range(0, N):
my_result.append(next(gen_random_list(my_list, K)))
print("The result is " )
print(my_result) 출력
The list is [12, 45, 76, 32, 45, 88, 99, 0, 1] The value of K is 4 The value of N is 5 The result is [[88, 76, 99, 12], [12, 99, 32, 76], [32, 76, 12, 99], [32, 45, 0, 12], [76, 0, 1, 45]]
설명
-
필요한 패키지를 환경으로 가져옵니다.
-
값과 'K'를 매개변수로 받는 'gen_random_list'라는 메서드가 정의되어 있습니다.
-
'셔플' 방법과 'yield' 연산자를 슬라이싱과 함께 사용하여 결과를 제공합니다.
-
메소드 외부에서 목록이 정의되고 콘솔에 표시됩니다.
-
K 및 N에 대한 값이 정의되고 콘솔에 표시됩니다.
-
빈 목록이 정의되었습니다.
-
0과 N 사이의 범위가 반복되고 메서드가 호출되고 결과가 빈 목록에 추가됩니다.
-
이것은 콘솔에 출력으로 표시됩니다.