Python의 Random Shuffle: 왜 명확하지 않은 반환이 발생하나요?
Python의 Random.shuffle 함수를 사용할 때 이를 보고 당황할 수 있습니다. 없음을 반환합니다. 이 동작은 내부 특성에서 비롯됩니다.
수정 후 변환된 데이터 구조를 반환하는 함수와 달리, random.shuffle은 입력 목록을 직접 변경합니다. 따라서 명시적 값이 반환되지 않음을 나타내기 위해 None을 반환합니다.
설명하기 위해 다음 코드를 고려하세요.
x = ['foo', 'bar', 'black', 'sheep'] random.shuffle(x) print(x)
이 코드를 실행하면 목록 x가 다음에서 섞입니다. -place, 그러나 random.shuffle 함수 자체는 어떤 값도 반환하지 않습니다. 결과적으로 print 문은 이제 섞인 목록을 출력합니다.
원본을 수정하지 않고 새로운 섞인 목록을 원하는 경우 대체 방법을 활용할 수 있습니다.
random.sample의 복잡성은 O(N)인 반면, sorted의 복잡성은 O(N log N)입니다. 기본 정렬 작업.
random.shuffle의 내부 동작을 이해하고 필요에 따라 대체 방법을 활용하면 Python에서 목록 셔플링 작업을 처리하는 방법을 효과적으로 제어할 수 있습니다.
위 내용은 Python의 `random.shuffle`이 `None`을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!