자료구조_3

YJ·2023년 3월 19일

▷ 오늘 학습 내용: 자료구조 강의(5~6)

17_튜플(Tuple)

'()'를 이용해 튜플 선언, 데이터 구분은 ',' 이용

  • 리스트와 비슷하지만 아이템 변경 불가능
  • 숫자, 문자(열), 논리형 등 모든 기본 데이터를 같이 저장할 수 있다.
  • 튜플에 또 다른 컨테이너 자료형 데이터를 저장할 수도 있다.

18_튜플 아이템 조회

인덱스: 아이템에 자동으로 부여되는 번호표
인덱스를 이용해서 튜플 아이템 조회 가능

19_in과 not in 키워드

아이템의 존재 유/무를 알 수 있다 → True, False
문자열에서도 in, not in 키워드 사용 가능

20_튜플 길이

  • 튜플에 저장된 아이템 개수를 튜플 길이라고 한다.
  • len()과 반복문을 이용해서 튜플의 아이템 조회
    myFavoriteSports = ('수영', '배구', '야구', '조깅')

    for i in range(len(myFavoriteSports)):
        print('myFavoriteSports[{}]: {}'.format(i,myFavoriteSports[i]))

    n=0
    while n < len(myFavoriteSports):
        print('myFavoriteSports[{}]: {}'.format(n,myFavoriteSports[n]))
        n+=1

    for sport in myFavoriteSports:
        print('myFavoriteSports : {}'.format(sport))

21_튜플 결합

덧셈 연산으로 튜플 결합
리스트에서 사용할 수 있는 extend()함수는 튜플에서 사용할 수 없다.

 # 번호가 중복되지 않게 합치기
    
   myNums = (1, 3, 5, 6, 7)
   friendNums = (2, 3, 5, 8, 10)

   for num in friendNums:
       if num not in myNums:
           myNums = myNums + (num,)
           # num은 자료형 int여서 튜플로 바꿔줘야 결합 가능

   print(myNums)

22_튜플 슬라이싱

리스트와 마찬가지로 [n:m]을 이용하면 원하는 아이템만 뽑아낼 수 있다.
슬라이싱할 때 단계 설정도 가능
튜플은 슬라이싱을 이용해서 아이템 변경은 불가능
slice()함수로 아이템을 슬라이싱할 수 있다.

 # 리스트 아이템을 튜플 아이템으로 변경 
  students = ['홍길동', '박찬호', '이용규', '강호동', '김지은']

  students[1:3] = ('김슬기', '박지수')
  print(students)  # ['홍길동', '김슬기', '박지수', '강호동', '김지은']
  print(type(students)  # list

23_리스트와 튜플

튜플은 리스트와 달리 아이템 추가, 변경, 삭제 불가능
튜플은 선언 시 괄호 생략이 가능하다.
리스트와 튜플은 자료형 변환이 가능하다.

  numbers = [1, 5, 7, 9, 23, 52]

  tuple(numbers)  # 리스트 → 튜플
  list(numbers)  # 튜플 → 리스트

▷ 내일 학습 계획: 자료구조 강의(7~9)

[이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.]

0개의 댓글