카테고리 없음

튜플(Tuple)

root_go 2023. 8. 11. 14:53

4. 튜플(Tuple) 자료형

  • 튜플은 리스트와 정말 비슷한 자료형입니다.
  • 튜플은 대괄호([])가 아닌 소괄호를 사용해서 표현합니다.
  • 튜플은 한 번 만들면 요소의 값을 바꿀 수 없음이 리스트와 다릅니다.
  • 그 외는 리스트와 같은 특성을 가지므로 이해하기 쉬울 것입니다.

4.1.튜플 만들기

  • 리스트는 대괄호[[]]이고, 튜플은 소괄호(())인 사실만 기억하면 됩니다.
  • 단, 괄호를 생략할 수 있다는 점은 리스트와 다릅니다.
  • 리스트에서는 대괄호를 생략할 수 없습니다.
  • 소괄호와 대괄호 둘 다 무엇이 생략되었나 알 수 없을 것입니다.

4.1.1.다양한 튜플 만들기

 

1) 빈 튜플 만들기

  • 다음은 빈 튜플을 만드는 두 가지 방법입니다.
# 빈 튜플 만들기 #1
score = ()

# 확인
score
# 빈 튜플 만들기 #2
score = tuple()

# 확인
score

2) 요소가 하나인 튜플 만들기

  • 요소가 하나인 튜플을 만들 때는 조심해야 합니다.
  • 다음은 요소가 하나인 튜플을 만드는 구문이 아닌 정수형 변수를 선언한 구문입니다.

3) 다양한 형태의 튜플

# 여러 형태의 튜플 만들기
score1 = (90, 85, 70)
score2 = 90, 85, 70
score3 = (90, 85, 70, ('A', 'B', 'D', 'F'))

# 확인
print(score1)
print(score2)
print(score3)
# range() 함수를 사용해 만들기
nums = tuple(range(1, 9))

# 확인
print(nums)
# 문자열로 튜플 만들기
chars = tuple('PYTHON')

# 확인
print(chars) 	# ('P', 'Y', 'T', 'H', 'O', 'N')

 

4.1.4.리스트 vs. 튜플

 

  • 리스트와 튜플의 차이는 사용하는 괄호가 다르며, 튜플은 요소를 변경할 수 없다고 했습니다.
  • 튜플이 요소를 변경할 수 없다는 것을 확인해 봅니다.
  • 우선 다음과 같이 리스트를 만들고 요소 하나를 변경합니다.

튜플은 값이 변하지 않는다는 속성 때문에 딕셔너리 키로 사용될 수 있습니다. 딕셔너리 키는 바뀔 수 없거든요.

리스트는 딕셔너리 키로 사용될 수 없습니다.

 

4.1.3.튜플 활용

  • 괄호를 생략할 수 있는 튜플의 특징을 이용하면 편리한 부분이 있습니다.
# 괄호 없이 튜플 만들기
a = 10
b = 20
c = a, b

# 확인
c

# (10, 20)	# 튜플임
  • 우선 여러 변수에 동시에 값을 대입할 수 있습니다.
# 여러 변수에 동시에 값 대입
a, b, c = 10, 20, (1, 2, 3)
print('a =', a)
print('b =', b)
print('c =', c)

# a = 10
# b = 20
# c = (1, 2, 3)
  • 두 변수값을 교환할 수 있습니다.
a, b = 10, 20
c = a
b = a
a = c
print(a, b)

# 20 10
# 변수 값 서로 변경
a, b = 10, 20
print('a =', a, 'b =', b)
a, b = b, a
print('a =', a, 'b= ', b)

# a = 10 b = 20
# a = 20 b = 10
  • 함수 리턴값을 두 변수에 대입할 수 있습니다.
# 튜플 사용
a, b = 45, 20
x, y = divmod(a, b)
print(x, y)

# 2 5

4.2.튜플 인덱싱과 슬라이싱

  • 앞에서 다룬 리스트와 방법과 결과가 같으니 쭉 보고 넘기면 됩니다.

1) 튜플 인덱싱

# 2번째 요소 확인
score = (90, 85, 70, 95)

# 확인
score[1]

# 85

2) 튜플 슬라이싱

# 2번째 요소부터 끝까지
score = (90, 85, 70, 95)

# 확인
score[1:]

# (80, 70, 95)

4.3.튜플 연산

  • 앞에서 다룬 리스트와 연산 방법과 결과가 같습니다.