프로그래밍/Python

[Python] 튜플에 대하여

베린이 2023. 11. 22. 08:25
반응형

- 튜플(tuple) 설명

튜플은 리스트와 비슷하지만 몇 가지 차이가 있는데, 첫 번째로 []가 아닌 ()를 쓴다는 것입니다.

#리스트 선언
a = [1,5,2,4]

#튜플 선언
a = (1,5,2,4)

다음으로는 리스트는 값을 수정할 수 있지만 튜플은 값을 수정할 수 없습니다. 그래서 프로그램이 진행될 때 값이 변경되지 않는 경우 튜플을 사용하면 됩니다. 값을 수정하지 않기 때문에 리스트 대비 적은 메모리를 쓰고, 그에 따라 프로그램 속도가 빨라진다는 장점이 있습니다. 한 가지 주의할 점은 만약 튜플에 변수 값이 1개만 있다면 ,로 마무리해야 합니다.

a = ()		#비어있는 튜플
a = (1,)	#값이 1개인 튜플

 
값을 수정할 수 없기 때문에 리스트를 수정하는 함수인 append나 insert 함수를 사용할 수 없습니다. 하지만 튜플 자체는 del 함수로 지울 수 있습니다.

a = (1,5,2,4)

del(a)

 

- 튜플 활용 방법

1. 인덱싱

인덱싱 활용은 리스트와 마찬가지로 []를 활용하면 됩니다.

a = (1,3,5,7,'a','b','c')

print(a[0])
print(a[-2])

>> 1
>> b

 

2. 리스트 ↔ 튜플 변환

다음의 함수를 통해 리스트에서 튜플로, 튜플에서 리스트로 변환할 수 있습니다.

#튜플 선언
a = (1,3,5,7,'a','b','c')

#리스트로 변환: list
b = list(a)
print(b)

#튜플로 변환: tuple
c = tuple(b)
print(c)

>> [1, 3, 5, 7, 'a', 'b', 'c']
>> (1, 3, 5, 7, 'a', 'b', 'c')

 

3. 연속된 값의 튜플 만들기

튜플을 선언할 때, 만약 값이 연속되어 있다면 range를 통해 간편하게 튜플을 만들 수 있습니다.

#사용 방법
#튜플 = tuple(range(시작 값, 끝 값))
a = tuple(range(0,10))
b = tuple(range(3,8))

print(a)
print(b)

>> (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>> (3, 4, 5, 6, 7)

 

4. 슬라이스

콜론(:)을 활용하여 선언된 튜플의 특정 범위를 잘라서 사용할 수 있습니다. 사용방법은 튜플[인덱스번호1:인덱스번호2]입니다. 인덱스번호1부터 인덱스번호2 직전까지 잘려서 사용됩니다. 즉, 덱스번호2에 해당하는 값은 포함되지 않습니다.

a = tuple(range(0,10))

print(a)
print(a[0:1])
print(a[0:2])
print(a[0:3])

>> (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>> (0,)
>> (0, 1)
>> (0, 1, 2)

'프로그래밍 > Python' 카테고리의 다른 글

[Python] 문자열에 대하여 - 1  (1) 2023.11.29
[Python] 딕셔너리에 대하여  (2) 2023.11.27
[Python] List에 대하여 - 2  (0) 2023.11.20
[Python] List에 대하여 - 1  (0) 2023.11.17
[Python] for 문, while 문 활용법  (0) 2023.11.15