20.8 튜플의 정보를 구하고 연산하기
이번에는 튜플의 메서드를 사용해보고 연산자로 연산을 해보겠습니다. 튜플은 리스트와는 달리 append, extend, insert, remove, pop 등은 사용할 수 없고, 값의 정보를 구하는 index, count 메서드만 사용할 수 있습니다. 변경, 삭제를 제외한 기타 기능은 리스트와 같습니다.
index로 특정 값의 인덱스를 구합니다. 53은 세 번째에 있으므로 인덱스 2가 나옵니다.
>>> a = (38, 21, 53, 62, 19) >>> a.index(53) 2
count로 특정 값의 개수를 구합니다. 20은 두 개 있으므로 2가 나옵니다.
>>> a = (10, 20, 30, 20, 40) >>> a.count(20) 2
이번에는 덧셈, 곱셈 연산자입니다. 튜플은 내용을 변경할 수는 없지만 +, * 연산자를 사용하여 새로운 튜플을 만들어낼 수는 있습니다.
>>> a = (10, 20, 30) >>> b = (1, 2, 3) >>> c = a + b >>> c (10, 20, 30, 1, 2, 3) >>> d = a * 3 >>> d (10, 20, 30, 10, 20, 30, 10, 20, 30)
in 연산자를 사용해서 값이 있는지 확인할 수도 있습니다.
>>> a = (38, 21, 53, 62, 19) >>> 53 in a True
for 반복문으로 요소의 값을 출력하는 방법도 리스트와 같습니다.
>>> a = (38, 21, 53, 62, 19) >>> for i in a: ... print(i, end=' ') ... 38 21 53 62 19
리스트 표현식과 같은 방식으로 튜플을 생성할 때는 다음과 같이 tuple 안에 for 반복문과 if 조건문을 지정하면 됩니다.
- tuple(식 for 변수 in 리스트 if 조건식)
>>> a = tuple(i for i in range(10) if i % 2 == 0) >>> a (0, 2, 4, 6, 8)
map 함수와 사용 방법도 리스트와 같습니다.
>>> a = (1.2, 2.5, 3.7, 4.6) >>> a = tuple(map(int, a)) >>> a (1, 2, 3, 4)
물론 min, max 함수로 가장 작은 수와 가장 큰 수를 구하고, sum 함수로 요소의 합계를 구할 수도 있습니다.
>>> a = (38, 21, 53, 62, 19) >>> min(a) 19 >>> max(a) 62 >>> sum(a) 193