> 백엔드 개발 > 파이썬 튜토리얼 > Python의 `random.shuffle()`이 섞인 목록 대신 `None`을 반환하는 이유는 무엇입니까?

Python의 `random.shuffle()`이 섞인 목록 대신 `None`을 반환하는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-07 15:49:16
원래의
177명이 탐색했습니다.

Why does Python's `random.shuffle()` return `None` instead of the shuffled list?

객체 목록 섞기

프로그래밍에서 일반적인 작업은 객체 목록을 섞는 것입니다. Python에는 이를 위한 내장 함수인 random.shuffle()이 있습니다. 하지만 그 미묘한 차이에 익숙하지 않으면 동작이 예상치 못한 결과를 가져올 수 있습니다.

질문

목록에서 호출할 때 왜random.shuffle()을 수행합니까? 객체는 섞인 대신 None을 반환합니다. list?

답변

random.shuffle()은 입력 목록을 제자리에서 수정합니다. 즉, 새 목록을 생성하지 않고 기존 목록의 요소를 섞습니다. 목록. 결과적으로 반환할 값이 없으므로 None 결과가 됩니다. 이 동작은 변경 가능한 객체에 대한 Python의 규칙과 일치합니다. 여기서 객체를 수정하는 함수는 일반적으로 None을 반환합니다.

이를 입증하려면 다음 코드를 고려하세요.

from random import shuffle

l = [[i] for i in range(10)]
shuffle(l)
print(l)
로그인 후 복사

코드는 목록의 목록을 생성하고 shuffle()을 사용하여 이를 섞습니다. 결과 목록을 인쇄하면 해당 목록이 성공적으로 재배열되었음을 알 수 있습니다.

[[9], [2], [7], [0], [4], [5], [3], [1], [8], [6]]
로그인 후 복사

이 예에서 random.shuffle()은 실제로 원래 목록을 수정하여 None을 반환했습니다.

위 내용은 Python의 `random.shuffle()`이 섞인 목록 대신 `None`을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿