[자료구조] 004_튜플(tuple)

Soo·2023년 8월 21일
0
  • 소괄호 ( )로 선언, ','으로 데이터 구분
  • 숫자, 문자열, 논리형 등 모든 기본 데이터 저장 가능
    • 예시) tupleName=(1,5,'십',8.957,'hello') 도 가능
  • '튜플 안에 튜플' 가능
  • 리스트와 달리 아이템 변경/수정이 불가능

💡 인덱스 추출

  • 튜플 선언은 소괄호로 해도 인덱스는 대괄호로 추출

    	tupleName=('a','b','c','d)
    	print(tupleName[2])
    	----
    	c

💡 튜플 길이_len( )

💡 튜플 확장_덧셈 연산자

  • extend() 함수는 튜플에서 사용 불가, 리스트에서 상
# 친구 숫자와 내 숫자가 중복되지 않게 출력하기
myNum=(2,4,5,7,8)
friendsNum=(3,5,8,9,13)

for number in friendsNum :  #number = 3,5,8,9,13
	if number not in myNum :
    	twoOfThem=myNum + (number, )     #myNum=튜플, 그냥 number은 int이기 때문에 에러 뜸 -> number을 튜플 형식으로 바꾸기 위해 '소괄호 & ,' 사용
print(twoOfThem)

💡 튜플 슬라이싱_[n:m]

  • 리스트와 동일한 양식

  • 슬라이싱을 활용한 아이템 변경

    	list[n:m] = 변경할 아이템 a,b,c (문자열이면 '필요)
  • 튜플은 슬라이싱을 통해 아이템을 변경할 수 없다.

💡 튜플 정렬_sorted( )

  • list로 자료 반환 : 튜플 자체가 자료 변형이 안되기 때문

💡 튜플에서 사용 불가능한 기능 and 특이사항

  • 사용 불가능 기능

    • 추가 : .append( )
    • 삭제 : .pop ( )
    • 정렬 : .sort( ) / reverse ( )
      • 위 함수로 정렬을 하고 싶을 땐, 'list 변환' 기능 사용하기
    • 변경 : 리스트명[인덱스 넘버]='다른 아이템 이름'
  • 선언시 괄호 없어도 사용 가능

    	people='유재석','강호동','김하늘','김지수'
    	print(people)
    	-----------출력시
    	('유재석','강호동','김하늘','김지수')
  • 리스트와 튜플은 서로 변환 가능

    	people=['유재석','강호동','김하늘','김지수']   ---현재 '리스트'
    	people=tuple(people)
    	print(people)
    	-----------출력시
    	('유재석','강호동','김하늘','김지수')
    
    
    	people=('유재석','강호동','김하늘','김지수')   ---현재 '튜플'
    	people=list(people)
    	print(people)
    	-----------출력시
    	['유재석','강호동','김하늘','김지수')]

💡 튜플 for문

people=('유재석','강호동','김하늘','김지수')
for person in people :
	print(person)
    
  • 내부 튜플 조회

    	studentCnts=(1,19),(2,20),(3,22),(4,28),(5,21) --- 전체적으로 소괄호 있는 셈, 튜플은 괄호 없어도 상관없으므로 이 상태도 이상 무
    	for classNo, cnt in studentCnts :
    		print('{}학급 학생수 : {}'.format(classNo, cnt))
    	-----------출력시
    	1학급 학생수 : 19
    	2학급 학생수 : 20
    	3학급 학생수 : 22
    	4학급 학생수 : 18
    	5학급 학생수 : 21
profile
데린이인데요 ໒꒰ྀ ˶ • ༝ •˶ ꒱ྀིა (잘못 된 부분은 너그러이 알려주세요.)

0개의 댓글

관련 채용 정보