네 줄 요약 >
1) 리스트와 튜플은 시퀀스(순서가 있는) 자료형이며,
2) 튜플은 수정 불가
3) 딕셔너리는 키와 값의 쌍으로 이루어진 자료형
4) 자료형 별 메소드 확인하자 (특히 dictionary.pop)
환경 : VSC (Visual Studio Code)
Python 자료구조에 대해 학습해보자.
** 코드 실행은 .py 파일을 실행한다는 개념으로 터미널에서 실행
여러 값을 순서대로 저장할 수 있는 자료형 (Data Type)
대괄호 [ ] 를 사용
수정 & 삭제 가능 (Mutable)
list_a = ["apple", "banana", 56, "abc", "leesunho", "data", "Analyst"]
print(list_a)
print(list_a[0])
print(list_a[-1])
print(list_a[0:7:2]) # 0~6(7-1) 인덱스까지 두 칸 간격의 데이터 출력

리스트 자료형에 자주 사용하는 메소드를 학습하고 알아두자
| 메소드 | 설명 |
|---|---|
| append(a) | 맨 뒤에 추가 |
| insert(i,a) | 지정 위치에 추가 |
| remove(a) | 해당 요소 삭제 |
| pop() | 마지막 요소 꺼내기 |
| sort() | 오름차 순 정렬 |
Object(객체) 와 연관되어 사용된다.
→ " . "으로 연결되어 있어야 한다
str, float, list 등 자료형은 모두 객체
ex> .split() , .append 등
함수는 독립적으로 정의 → 이름만으로 호출이 가능함
그러나 메소드는 이름만으로 호출되지 않음.
정의된 클래스와 연관되어 호출이 가능하다
즉 메소드는 클래스 내에서 정의되므로, 해당 클래스에 종속된다.
해당 메소드의 실행결과를 보자.

Python 실행 시 동작 과정은, 위에서부터 아래로 진행된다.
1) 첫 번째 print 문 : list_a 의 리스트가 출력
2) 두 번째 print(pop) 문 : 리스트의 마지막 자료 출력
3) 마지막 print 문 : 마지막 자료가 빠진 리스트 출력
다음 실행 결과를 보자

결론적으로
pop() 메소드는 단순히 마지막 데이터를 추출하여 리스트에서 제거하는게 아닌,
추출하여 재사용을 위한 용도로도 사용할 수 있다.
변경이 불가능한 리스트
소괄호 ( ) 를 사용
수정 & 삭제 불가능 (Immutable)
→ 데이터 보호 목적
a = ("apple", "banana", 56, "abc", "leesunho", "data", "Analyst")
print(type(a))
print(a)

키와 값의 쌍으로 이루어진 자료형
순서가 (의미) 없다
중괄호 { } 로 선언
키로 접근
student = {
"name" : "Lee sun ho",
"age" : "31",
"job" : "da"
}
print(type(student))
print(student)
student["name"] = "sun ho LEE" # name 키의 값을 변경
print(student)
student["grade"] = 95 # 현재 없는 grade 키에 95 지정
print(student)
print(len(student)) # student 딕셔너리의 키 개수 구하기

딕셔너리의 주요 메소드는 다음과 같다.
| 메소드 | 설명 |
|---|---|
| keys() | 모든 키 가져오기 |
| values() | 모든 값 가져오기 |
| items() | 키와 값 모두 가져오기 |
| get(key) | 특정 키의 값 가져오기 |
| pop(key) | 특정 키 삭제 |

1) pop 메소드 이용
student = {
"name" : "Lee sun ho",
"age" : "31",
"job" : "da"
}
student.pop("age")
print(student)

만약, 딕셔너리의 없는 키를 pop 으로 제거한다면?
→ 당연히 에러가 발생한다. 확인 해보자student = { "name" : "Lee sun ho", "age" : "31", "job" : "da" } print(student) student.pop("id") ## 없는 키 값 pop 메소드 사용 print(student)
해당 error 는 딕셔너리를 다룰 때 실무에서도 많이 발생하는 문제라고 한다.
당연히 에러가 나서 동작 안하는게 맞지 않나?? 라고 생각하겠지만,
에러가 발생하면 실행은 아예 중단이 된다.없는 키 값이라면서 에러 없이 진행하는 방법은 뭐가 있을까?
pop ("키" , None) 을 사용하는 것이다.
삭제하려는 키가 없는 키라면, None 을 던지는 것이다.
정확히는 NonType의 None 이라는 값의 반환하는 것참고사이트 : https://docs.python.org/3.14/library/constants.html#None
student = { "name" : "Lee sun ho", "age" : "31", "job" : "da" } print(student) student.pop("id", *****None*****) ## 없는 키 값 pop 메소드 사용 print(student)
에러코드 발생하지 않고, 아래 print 문까지 출력된 걸 볼 수 있다.
반드시 알아두자
2) del 함수 이용
student = {
"name" : "Lee sun ho",
"age" : "31",
"job" : "da"
}
print(student)
del student["age"]
print(student)

del 함수 사용 시, 없는 키 값이라면 에러 발생한다.
pop 메소드를 통해 삭제하는 방법을 연습하도록 하자