>  Q&A  >  본문

Python 3.5 Random.shuffle 문제

무작위 목록을 생성할 때 random.shuffle() 함수가 사용됩니다. 이 함수 호출에 대해 다음과 같은 질문이 발생합니다.
li = []와 같이 목록이 명시적으로 정의된 경우 shuffle 함수는 원하는 것을 생성할 수 있습니다. 결과는
list(range(n))을 shuffle의 매개변수로 사용하면 그림과 같이 None이 반환됩니다.

무슨 일이죠? 모두 목록 카테고리에 속해있어요

世界只因有你世界只因有你2711일 전1211

모든 응답(2)나는 대답할 것이다

  • 黄舟

    黄舟2017-05-18 10:50:52

    으아아아

    문서에는 list对象, 则直接作用鱼list객체

    가 주어지면 다음과 같이 언급되어 있습니다. 으아아아

    회신하다
    0
  • 天蓬老师

    天蓬老师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))의 값을 얻으려면, 먼저 지정해야 합니다. 셔플 작업을 수행한 후에만 액세스할 수 있는 변수 이름입니다. 🎜

    회신하다
    0
  • 취소회신하다