튜플
튜플은 요소를 설정할 수 없는 고정 컬렉션입니다.
튜플은 소괄호에 값을 열거하는 형태로 표현합니다.
[In]
tup1 = (1,2,3)
print(type(tup1))
print(tup1)
[Out]
<class 'tuple'>
(1, 2, 3)
소괄호없이 값을 열거한 표현도 튜플입니다.
[In]
tup2 = 1,2,3
print(type(tup2))
print(tup2)
[Out]
<class 'tuple'>
(1, 2, 3)
튜플의 요소 형식은 서로 다를 수 있습니다.
[In]
tup3 = (1,2.0, 'a')
print(type(tup3))
print(tup3)
[Out]
<class 'tuple'>
(1, 2.0, 'a')
요소가 다를 수 있다는 얘기는 다른 컬렉션도 요소로 올 수 있음을 의미합니다.
[In]
tup4 = (1,'a',tup2)
print(type(tup4))
print(tup4)
[Out]
<class 'tuple'>
(1, 'a', (1, 2, 3))
튜플은 for문의 in 뒤에 올 수 있는 컬렉션입니다.
for문은 컬렉션의 각 요소를 순차 방문하여 같은 작업을 수행할 때 유용합니다.
[In]
for e in tup4:
print(e, end=' ')
[Out]
1 a (1, 2, 3)
튜플은 보관한 요소를 바꿀 수 없습니다.
[In]
#tup4[0] = 7 #'tuple' object does not support item assignment
[Out]
TypeError Traceback (most recent call last)
<ipython-input-7-0601e7d84b1a> in <module>()
----> 1 tup4[0] = 7
TypeError: 'tuple' object does not support item assignment
요소에 접근할 때 인덱스 연산을 사용할 수 있어요.
print(tup4[0])
print(tup4[1])
[Out]
1
a
리스트
리스트는 가변 컬렉션입니다.
리스트는 대괄호에 요소를 열거하여 표현할 수 있어요.
[In]
ls1 = [1,2,3]
print(type(ls1))
print(ls1)
[Out]
<class 'list'>
[1, 2, 3]
리스트도 튜플처럼 다양한 형식 요소를 가질 수 있습니다.
[In]
ls2 = [1,'a',[1,2,3]]
print(type(ls2))
print(ls2)
[Out]
<class 'list'>
[1, 'a', [1, 2, 3]]
튜플처럼 인덱스 연산으로 요소를 접근할 수 있습니다.
[In]
print(ls2[0])
print(ls2[1])
[Out]
1
a
리스트도 for문의 in 뒤에 표현할 수 있어요.
[In]
for e in ls2:
print(e, end=' ')
[Out]
1 a [1, 2, 3]
리스트는 튜플과 다르게 요소를 바꿀 수 있어요.
[In]
ls3 = [1,2,3,4,5]
ls3[0] = 9
for e in ls3:
print(e, end=' ')
[Out]
9 2 3 4 5
튜플과 리스트의 길이를 구할 때 len 함수, 합계를 구할 때 sum 함수를 사용할 수 있어요.
[In]
print(len(ls3))
print(sum(ls3))
[Out]
5
23