python
[python] 튜플 | 튜플 색인
전감자(◔◡◔)
2022. 9. 22. 22:17
'''
집합형
3. 튜플
-표현 (값1,값2,...),tuple(iterable)
값 하나의 튜플 표현식:(값,)
튜플은 클래스로 만들어짐
클래스 구성요소(변수,함수)
-특징: 순서 있고, 중복허용, 값 변경 불가
'''
print(dir(tuple))
'''
'__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__',
'__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__',
'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__',
'count', 'index'
'''
#1. 튜플 생성
m=(1,2,3,4,4,5)
m2=(100,) #단 하나의 값을 가진 tuple
m3=tuple([1,2,3])
m4=tuple("hello")
print(m,m2,m3,m4)#(1, 2, 3, 4, 4, 5) (100,) (1, 2, 3) ('h', 'e', 'l', 'l', 'o')
#주의: tuple은 값 변경 불가(immutable)
# ==> 리스트에서 제공되었던 수정 함수들이 제공 안됨
#(append,insert,remove,pop,clear 제공안됨)
#m[0]=100 #TypeError 발생
#2. 함수
m=(1,2,3,4,4,5)
print(m.count(5))#1
print("tuple의 전체 갯수:",len(m))
print(m.index(3))#2
'''
리스트 색인
m=(10,9,8,7)
10 9 8 7
순방향 0 1 2 3
역방향 -4 -3 -2 -1
'''
#1. 인덱싱
# 순방향
m=(10,9,8,7])
print(m[0])
print(m[1])
print(m[2])
print(m[3])
#print(m[4]) 없는 위치값 지정하면 IndexError 발생
#역방향
print(m[-1])
print(m[-2])
print(m[-3])
print(m[-4])
# 2. 슬라이싱
#순방향
print(m[0:3])
print(m[:3])
print(m[0:])
print(m[:])
#역방향
print(m[-3:-1])
#step
print(m[::2])
#튜플과 리스트는 값 변경이 불가능 한 것만 빼고 모두 동일하다.
m = ((1,2,3),(4,5,6),(7,8,9))
#1.인덱싱
#순방향
print(m[0])#[1, 2, 3]
print(m[1])#[4, 5, 6]
print(m[2])#[7, 8, 9]
#역방향
print(m[-1])#[7, 8, 9]
print(m[-2])#[4, 5, 6]
#5값 출력하시오
print(m[1][1])
#2. 슬라이싱
#4,5 값을 슬라이싱으로 출력하시오
print(m[1][:2])
#튜플 곱하기
m=(1,2,3)
print(m*3) #(1, 2, 3, 1, 2, 3, 1, 2, 3)