[Python] 5. 컬렉션 - 리스트(list), 튜플(tuple)
컬렉션
: 여러 값을 하나의 이름으로 묶어서 관리하는 자료형
컬렉션 | 생성함수 | 특징 | 예시 |
리스트 | list() | 추가, 수정, 삭제가 언제나 가능 | a = [1, 2, 3] |
튜플 | tuple() | 생성되고 나면 변경 불가능 | a = (1, 2, 3) |
세트 | set() | 중복된 값의 저장 불가능 | a = {1, 2, 3} |
딕셔너리 | dict() | 키 + 값으로 관리 | a = {'age' : 25} |
이 중에서 저장된 값들을 순서가 있는 컬렉션을 '시퀀스(Sequence)' 라고 부른다.
시퀀스에는 리스트, 튜플이 있다.
리스트
: 여러 값을 저장할 때 가장 많이 사용하는 자료형
저장하려는 값들을 자료형이 서로 다르더라도 하나의 리스트로 저장할 수 있다.
li = [100, 3.14, 'hello']
range( ) : 연속된 숫자를 생성하는 함수
list(range(10))
list(range(-4, 10 , 2))
list(range(10, 0, -1))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 0~9 의 수들이 리스트로 출력된다.
[-4, -2, 0, 2, 4, 6, 8] # -4~9까지 +2 되는 수들이 리스트로 출력된다.
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1] # 10~1까지 -1되는 수들이 리스트로 출력된다
- 리스트의 인덱싱(indexing)
li = [100, 3.14, 'hello']
print(li[0]) # 100
print(li[1]) # 3.13
print(li[2]) # hello
100
3.13
hello
- 리스트의 슬라이싱(slicing)
li = [10, 20, 30, 40, 50]
li[:3]
[10, 20, 30]
- 새로운 요소 추가
append() : 마지막 요소로 값을 추가
scores = [50, 40, 30]
scores.append(100)
scores
[50, 40, 30, 100]
insert() : 원하는 인덱스에 값을 추가
scores = [50, 40, 30]
scores.insert(0, 90)
scores
[90, 50, 40, 30]
- 요소 삭제
pop() : 제거하는 요소를 출력시켜준다
빈값 -> 마지막 요소를 제거, 원하는 인덱스를 제거할 수 있다.
scores = [50, 40, 30]
scores.pop()
scores.pop(0)
30
50
del : 제거하는 요소를 출력시켜주지 않고 바로 삭제한다.
scores = [50, 40, 30]
del scores[0]
scores
[40, 30]
프린트 함수를 이용해 결과값을 확인해야한다.
튜플
: 지정된 값을 변경할 수 없는 리스트
리스트와 마찬가지로 인덱스, 슬라이싱이 가능하지만, 값의 추가, 수정, 삭제가 불가능하다.
표현법
소괄호( ) 또는 tuple( )
t1 = (1, 2, 3)
t2 = 1, 2, 3
t3 = tuple([100, 3.14, 'hello'])
t4 = (100)
t5 = (100,)
print(t1)
print(t2)
print(t3)
print(t4)
print(type(t4))
print(t5)
print(type(t5))
(1, 2, 3)
(1, 2, 3)
(100, 3.14, 'hello')
100
100
<class 'tuple'>
(100,)
<class 'tuple'>