- 여러개의 데이터를 한군데 모아 놓은 것입니다.
데이터에 index 를 붙여서 나열한 데이터 구조입니다
str(문자열), list(리스트), tuple(튜플)
데이터를 key로 연결해서 나열한 데이터 구조입니다.
데이터에 개별적으로 접근시에 key 값을 사용합니다.
dict(딕트, dictionary)
순서나 key 값이 아닌 데이터를 한곳에 모아두는 구조입니다.
데이터가 있는 공간을 구별할 수 없기 때문에 중복된 값을 보관할 수 없습니다.
비고 자료형 데이터 수정 접근 방식 문자열 str 수정 불가 sequence 튜플 tuple 수정 불가 sequence 리스트 list 수정 가능 sequence 사전 dict 수정 가능 sequence 집합 set 수정 가능 set(중복 x)
- 튜플은 여러가지 데이터를 순서있게 저장하지만, 한번 설정한 값은 수정할 수 없습니다.
- 튜플을 생성할 때에는 () 를 사용합니다.
- 튜플은 변하지 않는 값( 단위, 색상코드 ... ) 의 저장소로 사용하기에 적합합니다.
print('- 튜플 생성 방법 -')
tu = (1, 2, 3, 4, 5)
print(tu)
tu = ('a', 'b', 'c', 1, 2, 3)
print(tu)
tu = ('data', )
print(tu, type(tu))
tu = 1, 2, 3
print(tu, type(tu))
print()
- 튜플안의 특정 요소에 접근할 때 사용합니다.
tu = ('a', 'b', 'c', 'd', 'e')
print(f'tu {tu}')
print(f'tu[0] : {tu[0]}')
print(f'tu[len(tu) -1] : {tu[len(tu) - 1]}')
print()
- tuple 의 일정 부분의 요소를 선택(자르기)하여 사용할 수 있습니다 .
- tuple이름[ 시작index : 종료index : step ]
- 실제 종료 index 는 '지정한 index -1' 입니다.
step 의 값은 기본적으로 1 씩 증가합니다
tu = ('a', 'b', 'c', 'd', 'e')
print(f'tu {tu}')
tu = ('a', 'b', 'c', 'd', 'e')
print(tu[0 : 3])
시작은 - 값이지만 step 은 기본적으로 1씩 증가하기 때문에 뒤로 이동합니다
tu = ('a', 'b', 'c', 'd', 'e')
print(tu[-3: ])
tu = ('a', 'b', 'c', 'd', 'e')
print(tu[ : -3])
tu = ('a', 'b', 'c', 'd', 'e')
print(tu[ -2: -5: -1])
tu = ('a', 'b', 'c', 'd', 'e')
for n in tu:
print(n, end=" ")
print()
for idx in range(len(tu)):
print(tu[idx], end=" ")
덧셈 연산을 사용해서 튜플과 튜플을 결합할 수 있습니다.
tu_1 = (1, 2, 3)
tu_2 = ('a', 'b', 'c')
print(f"tu_1 {tu_1}")
print(f"tu_2 {tu_2}")
tu_3 = tu_1 + tu_2
print(f"tu_3 {tu_3}")
튜플을 곱셈하면 그 값만큼 반복합니다.
tu_4 = ("고무",)
print(f"tu_4 {tu_4}")
print(tu_4*2)
tu_5 = 10, '열', True
print(f"tu_5 {tu_5}")
print()
print(f"10 in tu_5 : {10 in tu_5}")
print(f"구 in tu_5 : {'구' in tu_5}")
print(f"구 not in tu_5 : {'구' not in tu_5}")
- 튜플 안의 요소가 튜플이 될 수 있습니다.
tu_6 = ((1, 'a'), (2, 'b'), (3, 'c'))
print(f"tu_6 {tu_6}")
print(f"tu_6[0] : {tu_6[0]}")
print(f"tu_6[1] : {tu_6[1]}")
print(f"tu_6[1][1] : {tu_6[1][1]}")
print()
for n1 in tu_6:
for n2 in n1:
print(n2, end=" ")
- 튜플의 요소들을 분해하여 각각의 변수에 할당 할 수 있습니다.
- 이때 변수의 수는 튜플 요소의 수와 같아야 합니다.
fruits = '사과', '바나나', '망고'
print(f"fruits {fruits}")
print()
apple, banana, mango = fruits
print(f"apple {apple}")
print(f"banana {banana}")
print(f"mango {mango}")