크기가 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 사이의 범위가 반복되고 메서드가 호출되고 결과가 빈 목록에 추가됩니다.
-
이것은 콘솔에 출력으로 표시됩니다.