Python 튜플에서 항목을 무작위로 선택하는 방법
Python에서 튜플(tuple)과 같은 시퀀스 객체로부터 항목을 무작위로 선택하려면 random 모듈의 choice() 함수를 사용하는 것이 가장 간단하고 효율적인 방법입니다.
random.choice() 함수란?
choice() 함수는 문자열, 리스트, 튜플 등 임의의 시퀀스 객체에서 단일 항목을 랜덤하게 추출하여 반환합니다. 이 함수를 사용하기 전에는 반드시 random 모듈을 먼저 임포트해야 합니다.
>>> import random
>>> t1 = (11, 'aa', 12.50, 77, 'xyz')
>>> item = random.choice(t1)
>>> item
11
>>> item = random.choice(t1)
>>> item
'xyz'위 예제에서 볼 수 있듯이, 동일한 튜플에 대해 choice() 함수를 호출할 때마다 매번 다른 항목이 반환될 수 있습니다. 첫 번째 호출에서는 정수 11이, 두 번째 호출에서는 문자열 'xyz'가 선택되었습니다. 이처럼 실행할 때마다 결과가 달라지기 때문에 무작위성(randomness)이 필요한 프로그램에 유용하게 활용됩니다.
주요 특징
- 대상: 튜플뿐만 아니라 리스트, 문자열 등 모든 시퀀스 타입에 사용 가능합니다.
- 반환값: 시퀀스에서 선택된 단일 요소 하나를 반환합니다.
- 예외 처리: 빈(empty) 시퀀스를 인자로 전달하면
IndexError가 발생하므로 주의해야 합니다.
만약 중복 없이 여러 개의 항목을 한 번에 무작위로 뽑고 싶다면, 같은 모듈의 random.sample() 함수를 대안으로 고려해볼 수 있습니다.