자료구조

[자료구조] 튜플, 튜플 결합

scone 2022. 5. 23. 17:49

[튜플]

  • 튜플은 수정, 편집이 불가능한 iterable 이다.
  • 따라서 기본적으로 iterable에 적용할 수 있는 기능은 다 적용될 수 있다.
  • 슬라이싱, 요소 접근 등이 그렇다.
  • 튜플은 선언시 괄호 생략이 가능하다.
    students = '홍길동', '스콘', '김철수'

 

[튜플 결합]

  • 리스트 전용 함수 extend() 대신에 튜플은 덧셈 연산자로 결합 할 수 있다. 
    튜플 성격 중에 한번 데이터가 선언되면 변경이 안된다는 것이 있기 때문에, 리스트를 연장해주는 extend는 사용할 수 없게 되는 것이다.
student1 = ('홍길동','김철수','스콘')
student2 = ('김영희','김말숙','옥주현')
student3 = student1 + student2

print(student3)

# ('홍길동', '김철수', '스콘', '김영희', '김말숙', '옥주현')

[실습] 전화번호를 중복되지 않게 합쳐보자. 

  • 얼핏 보면 마치 선언된 튜플을 변형한 것처럼 보일 수 있는데,
    그게 아니라 number1 이라는 변수에 그냥 새로운 값을 넣은 것이라 볼 수 있다.
  • 한 가지 눈여겨 봤던건, 요소 하나로 튜플을 만들 때, ( num, ) 으로 표현하면 된다는 것.
number1 = (1,2,3,4,5)
number2 = (3,4,5,6,7)
for num in number2:
    if num not in number1:
        number1 = number1 + (num, )
print(number1)
'''
(1, 2, 3, 4, 5, 6, 7)
'''