BASIC

튜플 응용하기

자동매매 2023. 10. 9. 17:31
메서드 설명
index(값) 리스트에서 특정 값의 인덱스를 구함
count(값) 리스트에서 특정 값의 개수를 구함

 

튜플 응용하기

이번에는 튜플의 메서드와 다양한 사용 방법을 알아보겠습니다.

튜플은 리스트와는 달리 내용을 변경할 수 없습니다(불변, immutable). 따라서 내용을 변경하는 append 같은 메서드는 사용할 수 없고, 요소의 정보를 구하는 메서드만 사용할 수 있습니다.

 

튜플에서 특정 값의 인덱스 구하기

 

index(값)은 튜플에서 특정 값의 인덱스를 구합니다. 이때 같은 값이 여러 개일 경우 처음 찾은 인덱스를 구합니다(가장 작은 인덱스). 다음은 53이 세 번째에 있으므로 인덱스 2가 나옵니다.

>>> a = (38, 21, 53, 62, 19, 53)
>>> a.index(53)
2

특정 값의 개수 구하기

count(값) 튜플에서 특정 값의 개수를 구합니다. 다음은 튜플 (10, 20, 30, 15, 20, 40)에서 20의 개수를 구합니다. 여기서는 20이 2개 들어있으므로 2가 나옵니다.

>>> a = (10, 20, 30, 15, 20, 40)
>>> a.count(20)
2

 

for 반복문으로 요소 출력하기

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)

 

 

(괄호) 안에 표현식을 넣으면 튜플이 아니라 제너레이터 표현식이 됩니다

>>> (i for i in range(10) if i % 2 == 0)
<generator object <genexpr> at 0x050FE420>

 

tuple에 map 사용하기

튜플에 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