객체 목록 섞기
프로그래밍에서 일반적인 작업은 객체 목록을 섞는 것입니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!