>백엔드 개발 >파이썬 튜토리얼 >Python에서 범위 내의 고유 난수 목록을 어떻게 생성할 수 있습니까?

Python에서 범위 내의 고유 난수 목록을 어떻게 생성할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-02 22:39:11794검색

How Can I Generate a List of Unique Random Numbers Within a Range in Python?

범위 내에서 고유한 난수 생성

random.randint를 사용하여 범위 내에서 난수를 생성하는 기능이 주어지면 작업이 발생합니다. 고유한 난수 목록을 생성하는 것입니다. 반복 조건문이 해결책이 될 수 있지만, 이 결과를 효율적으로 달성하기 위한 보다 우아한 접근 방식이 존재합니다.

Random Sampling

Python의 무작위 모듈은 특별히 Sample이라는 함수를 제공합니다. 교체 없이 샘플링하도록 설계되었습니다. 이 함수는 모집단(예: 숫자 목록)과 표본 크기를 인수로 사용하고 모집단에서 무작위로 선택된 고유 요소 목록을 반환합니다.

예를 들어 3개의 고유한 난수 목록을 생성하려면 [1, 100] 범위 내에서 다음 코드를 사용할 수 있습니다.

import random

population = range(1, 100)  # Initialize the population
sample_size = 3  # Set the sample size
random_sample = random.sample(population, sample_size)

random_sample은 이제 지정된 범위 내에서 3개의 고유한 난수 목록을 포함합니다. range.

크기 불일치 처리

샘플 크기가 모집단 크기를 초과하면 샘플에서 ValueError가 발생한다는 점에 유의하는 것이 중요합니다. 이 시나리오를 처리하려면 try-Exception 블록을 사용하여 예외를 포착하고 이에 따라 처리할 수 있습니다.

예를 들어, 크기가 2인 모집단에서 크기가 3인 표본을 생성하려면 다음과 같이 작성할 수 있습니다. 다음 코드:

try:
    random.sample(range(1, 2), 3)
except ValueError:
    print('Sample size exceeded population size.')

샘플 크기가 모집단 크기보다 큰 경우 이 코드는 충돌이 발생하지 않고 정보 메시지를 인쇄합니다.

위 내용은 Python에서 범위 내의 고유 난수 목록을 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.