파이썬에서 대표적으로 사용되는 자료구조는 대표적으로 list, tuple, dict가 있다.
List
number_list = [1, 2, 3, 4, 5]
먼저 list(리스트)를 알아보자. 리스트의 큰 특징 중 하나는 순서가 있다는 것이다.
우리가 학교를 다닐 때를 생각해보자. 출석부를 보면 항상 1번부터 시작한다. 하지만 리스트에서 순서는 0번부터 시작이다.
print(number_list[0])
print(number_list[1])
print(number_list[2])
print(number_list[3])
print(number_list[4])
# 출력결과
1
2
3
4
5
리스트에 있는 데이터를 가져올 때는, 순서를 사용해야 한다. 예제에서 보이듯이 대괄호 옆에 숫자를 넣으면 된다. 이 숫자를 index(인덱스)라고 부른다. 만약 리스트의 첫번째 데이터를 가져오고 싶다면 index값은 0을 사용해야 한다.
number_list = [1, 2, 3, 4, 5]
number_list[0] = 0
print(number_list)
number_list.append(6)
print(number_list)
number_list.pop(0)
print(number_list)
# 출력결과
[0, 2, 3, 4, 5]
[0, 2, 3, 4, 5, 6]
[2, 3, 4, 5, 6]
list는 수정이 가능하다. 예제의 세 번째 줄을 보면 리스트의 첫 번째 데이터(index = 0)에 접근해서 값을 수정했다. 그래서 리스트의 첫 번째 값은 1에서 0으로 수정됐다. 출력 결과 첫 번째 줄을 보면 1이 0으로 바뀐 것을 확인할 수 있다.
여섯 번째 줄에서 append() 함수를 사용했다. append()를 사용하면 리스트의 가장 뒤에 데이터를 추가할 수 있다. 그래서 예제에서 append(6)는 리스트의 가장 뒤에 6이라는 값을 넣겠다는 의미다. 출력 결과 두 번째 줄을 보면 리스트의 가장 뒤에 6이 추가됨을 알 수 있다.
아홉 번째 줄에서 pop() 함수를 사용했다. pop()을 사용하면 리스트의 데이터를 삭제할 수 있다. pop(0)를 사용하면 리스트의 첫 번째 데이터(index = 0)가 삭제되어 출력 결과 세 번째 줄을 보면 가장 앞에 있던 0이 사라진 것을 알 수 있다.
Tuple
number_tuple = (1, 2, 3, 4, 5)
리스트 처럼 데이터에 접근하려면 인덱스를 사용하면 된다.
print(number_tuple[0])
print(number_tuple[1])
print(number_tuple[2])
print(number_tuple[3])
print(number_tuple[4])
# 출력결과
1
2
3
4
5
튜플과 리스트와 다르게 값을 수정할 수가 없다. 추가, 수정, 삭제가 불가능하다. 아래 예제를 실행하면 에러가 발생한다.
number_tuple[0] = 1
값의 수정이 필요한 데이터인 경우에는 리스트를 사용하고 수정이 일어나면 안 되는 데이터인 경우에는 튜플을 사용하면 된다.
Dict
dict(딕트)는 리스트와 튜플과 다르게 순서가 없다. 출석부에 이름을 부르면 해당 학생이 대답하듯이 순서 대신 이름을 사용하는데 이 이름을 Key(키) 값이라고 한다. 그리고 키와 매칭 되어 있는 값을 Value(값)라고 한다. 딕트는 Key:Value를 하나만 가질 수도 있고, 여러 개 가질 수도 있다. 중괄호와 :(콜론)과 ,(쉼표)를 사용한다. 키 값은 숫자도 사용이 가능하고 문자열도 사용 가능하다.
number_dict = {
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5
}
딕트에서 데이터에 접근하려면 키값을 이용하면 된다.
print(number_dict["one"])
print(number_dict["two"])
print(number_dict["three"])
print(number_dict["four"])
print(number_dict["five"])
# 출력결과
1
2
3
4
5
딕트도 추가, 수정, 삭제가 가능하다.
number_dict["one"] = 1000
print(number_dict)
number_dict["six"] = 6
print(number_dict)
del number_dict["one"]
print(number_dict)
# 출력결과
{'one': 1000, 'two': 2, 'three': 3, 'four': 4, 'five': 5}
{'one': 1000, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6}
{'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6}
첫 번째 줄에서 키가 "one"인 데이터의 Value(값)을 1000으로 수정했다. 출력 결과의 첫 번째 줄에서 'one' : 1000을 확인할 수 있다.
세 번째 줄에서 키를 "six" 값을 6을 추가했다. 출력 결과의 두 번째 줄에서 'six' : 6을 확인할 수 있다.
다섯 번째 줄에서 del dict <key>를 이용해서 키와 키와 연결되어있는 값을 삭제했다. 출력 결과의 세 번째 줄에서 확인할 수 있다.
'프로그래밍' 카테고리의 다른 글
Strapi 사용기 첫번째 (0) | 2020.12.28 |
---|---|
14일 유튜브 접속 오류 원인은?? (5) | 2020.12.15 |
테슬라 스페이스X 발사. 디스플레이 환경은 Chromium, JavaScript기반 직접 개발해 사용. (0) | 2020.11.17 |
아마존 웹 서비스 - Elastic Beanstalk (0) | 2020.11.16 |
아마존 웹 서비스(AWS) - EC2 (0) | 2020.11.16 |
댓글