Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

K 크기의 N 목록을 무작위로 생성하는 Python 프로그램

<시간/>

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

  • 이것은 콘솔에 출력으로 표시됩니다.