더북(TheBook)

조건 3에서 shuffle() 함수를 활용하라고 했으니 다음과 같이 작성하고 실행해 봅시다.

# users = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
users = range(1, 21)
shuffle(users)

실행결과 icon_con

[3, 5, 9, 15, 18, 11, 8, 17, 13, 4, 10, 20, 6, 14, 7, 19, 12, 2, 16, 1] ---- 리스트 직접 생성 시 
TypeError: 'range' object does not support item assignment ---- range() 함수 사용 시

users 리스트에 숫자를 넣어 직접 만든 경우라면 문제없지만, range() 함수로 숫자를 생성하면 오류가 발생합니다. shuffle() 함수는 리스트에서만 사용할 수 있는데, range()로 생성한 데이터는 리스트가 아니기 때문입니다.

파이썬에서는 5.5 자료구조 변환하기에서 배운 것처럼 손쉽게 자료구조를 변환할 수 있습니다.

users = range(1, 21)
users = list(users) # users 변수를 리스트로 변환
shuffle(users)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.