-
튜플(Tuple)Language/자료구조 2024. 5. 23. 17:00
: 리스트(List) 와 비슷하지만 아이템 변경(수정,삭제)이 불가하다.
튜플선언
- '()' 를 이용해서 선언하고, 데이터구분은 ','를 이용한다.
- 데이터 하나하나를 아이템(요소)라고 한다,
- 리스트 안에는 숫자,문자,논리형등의 기본 데이터와 또 다른 컨테이너 자료형 데이터를 저장할 수 있다.
students = ('홍길동', '박찬호', '이용규', '박승철', '김지은') print('students : {}'.format(students)) print('students type: {}'.format(type(students))) >>> students : ('홍길동', '박찬호', '이용규', '박승철', '김지은') students type: <class 'tuple'>
주의!
아이템이 하나일 경우, 뒤에 콤마를 찍어줘야 튜플 자료형으로 인식한다.
student1 = ('홍길동') print('students : {}'.format(student1)) print('students type: {}'.format(type(student1))) student2 = ('홍길동',) print('students : {}'.format(student2)) print('students type: {}'.format(type(student2))) >>> students : 홍길동 students type: <class 'str'> students : ('홍길동',) students type: <class 'tuple'>
인덱스
튜플 아이템은 인덱스를 이용해서 조회가능.
students = ('홍길동', '박찬호', '이용규', '박승철', '김지은') print('students : {}'.format(students)) print('students[0]: {}'.format(students[0])) print('students[1]: {}'.format(students[1])) print('students[2]: {}'.format(students[2])) print('students[3]: {}'.format(students[3])) print('students[4]: {}'.format(students[4])) >>> students : ('홍길동', '박찬호', '이용규', '박승철', '김지은') students[0]: 홍길동 students[1]: 박찬호 students[2]: 이용규 students[3]: 박승철 students[4]: 김지은
in, not in 키워드
아이템의 존재 유/무 확인
students = ('홍길동', '박찬호', '이용규', '박승철', '김지은') searchName = input('학생이름 입력 : ') if searchName in students: print('{}학생은 우리반 학생입니다'.format(searchName)) else: print('{}학생은 우리반 학생이 아닙니다'.format(searchName)) >>> 학생이름 입력 : 홍길동 홍길동학생은 우리반 학생입니다
ex) 문장에서 비속어가 있는지 알아내는 프로그램 만들기
wrongWord = ['씨x','개','즐','자식'] sentence = '안녕 개 자식 잘지냈니? ' for word in wrongWord: if word in sentence: print('비속어 : {}'.format(word)) >>> 비속어 : 개 비속어 : 자식
튜플의길이
리스트와 마찬가지로, 튜플에 저장된 아이템 개수를 튜플길이라고 한다.
students = ('홍길동', '박찬호', '이용규', '박승철', '김지은') Length = len(students) print('length of students : {}'.format(Length)) >>> length of students : 5
튜플 결합
리스트의 결합은 append, + 두가지방법이 있으나,
튜플은 append불가능 -> append는 a + b = a 이기 때문에 a튜플의 수정이 생김 (*튜플은 수정이 불가능! )
studentsTuple1 = ('홍길동', '박찬호', '이용규') studentsTuple2 = ('박승철', '김지은','강호동') stuple = studentsTuple1 + studentsTuple2 print(f'stuple:{stuple}') >>> stuple:('홍길동', '박찬호', '이용규', '박승철', '김지은', '강호동')
ex) 튜플을 이용해서 나와 친구가 좋아하는 번호를 합치되 번호가 중복되지 않게 하는 코드를 만들어보자.
myFavoriteNum = (1,3,5,6,7) frFavoriteNum = (2,3,5,8,10) print(f'myFavoriteNum : {myFavoriteNum}') print(f'frFavoriteNum : {frFavoriteNum}') for number in myFavoriteNum: if number not in frFavoriteNum: frFavoriteNum = frFavoriteNum + (number, ) print(frFavoriteNum)
* frFavoriteNum = frFavoriteNum + (number, )
number는 int 자료형이기 때문에 Tuple + int 형태로 오류가 된다.
--> (number, )는 임시로 튜플 자료형으로 만들어 줘야 한다.
'Language > 자료구조' 카테고리의 다른 글
리스트와 튜플 (0) 2024.05.25 튜플(Tuple) > 슬라이싱 (0) 2024.05.24 리스트(List) > 그 외 기능 (0) 2024.05.23 리스트(List) > 슬라이싱 (0) 2024.05.23 [Python] enumerate() 함수 (0) 2024.05.22