목록을 셔플하는 방법을 알았지 만 원래 첫 번째 항목을 제외한 모든 항목을 뒤섞는 것처럼 보입니다.목록의 첫 번째 항목을 셔플하지 않음
내 코드 :
from random import shuffle
x = list(range(10))
print x
k = 0
while k < len(x):
for i in x:
shuffle(x)
print i
k = k + 1
이유 나는 잠시 루프 내에서 루프를 위해 나는 결국 최종 목록을 통해 반복 할 것입니다 사용하고, 나는이 있는지 확실하지 않습니다 for-loop 자체 내에서 수행 될 수 있습니다.
코드를 실행하면 원래 목록이 인쇄되고 그 다음에 목록의 각 항목이 인쇄됩니다. 첫 번째 항목은 항상 0으로 표시됩니다. 즉, 항상 원래 목록의 첫 번째 항목입니다. Shuffle 함수가 호출되기 전에 아이템이 이미 "선택"되었기 때문에 이것이 발생하는 이유를 알 수 없습니다. 이 경우에 for-loop가 나오기 전에리스트를 뒤섞어서 각 아이템이 인쇄 된 후에 섞이게되는 대신 한 번만 셔플됩니다.
누구나 내가 인쇄하기 전에 첫 번째 항목을 어떻게 섞을 지 알 수 있습니까? 감사!
'셔플'전체 목록을 뒤섞습니다. 왜 당신은 한 번이 아니라 여러 번 그것을 뒤섞고 있습니까? – BrenBarn
나는 워드와 그 정의로 구성된 튜플 인 어휘 카드 연습을위한 스크립트를 만들고자한다. 각 "카드"를 읽은 후 뒤섞어 카드가 패턴으로 설정되는 것을 피할 수 있습니다. – Streeting
고마워, @thefourtheye! 그게 효과가있는 것 같아! – Streeting