무작위 목록을 생성할 때 random.shuffle() 함수가 사용됩니다. 이 함수 호출에 대해 다음과 같은 질문이 발생합니다.
li = []와 같이 목록이 명시적으로 정의된 경우 shuffle 함수는 원하는 것을 생성할 수 있습니다. 결과는
list(range(n))을 shuffle의 매개변수로 사용하면 그림과 같이 None이 반환됩니다.
무슨 일이죠? 모두 목록 카테고리에 속해있어요
天蓬老师2017-05-18 10:50:52
random.shuffle()
은 list
자체에 직접 작용하고 어떤 값도 반환하지 않기 때문에 첫 번째 문의 결과는 None이 됩니다. >random.shuffle(li), 자체가 변경된 li
목록을 인쇄합니다. 이렇게 쓰면 random.shuffle()
会直接作用于list
本身,而不会返回任何值,所以你第一个语句的结果会是None.但是在random.shuffle(li)
的时候,你打印的是li
这个列表,它本身就被改变了。如果你这样写
li = random.shuffle(li)
那么一样会返回None
.所以想要得到list(range(20))
被shuffle
操作过后的值,需要先给它一个变量名,在被shuffle
li = random.shuffle(li)🎜🎜그러면 여전히
None
이 반환됩니다. 따라서 shuffle
작업을 수행한 후 list(range(20))
의 값을 얻으려면, 먼저 지정해야 합니다. 셔플
작업을 수행한 후에만 액세스할 수 있는 변수 이름입니다. 🎜