1. 파이썬 딕셔너리
- 유사한 정보들을 그룹화하여 저장/관리 기능
- 각각의 데이터가 key/value 형태로 저장되어 있어서 어떤 종류의 데이터인지 파악 가능
- 딕셔너리는 key와 value값을 저장하고, key값을 기반으로 value를 가져오는 자료구조
**문자열, 리시트는 인덱스를 활용, 딕셔너리는 key값을 활용
**딕셔너리변수명{"key"}
- 딕셔너리는 중괄호 '{}'를 이용하여 생성 (리스트의 경우 대괄호'[]'를 사용!!!)
- 표기법 : {key1: value1, key: value2}
- course_dict={} -> 빈 딕셔너리를 생성
- 중복된 key값들이 있을 땐, 마지막 value값을 가져옴
2. 딕셔너리 관련 함수
1-1)딕셔너리 전체 key값 가져오기-keys() 함수
1-2) 형 변환 : 특정 자료형을 다른 자료형으로 변환하는 것, list() 함수
- list(dict_keys)사용 시 dict_keys 자료형의 데이터를 리스트 자료형으로 형 변환
2-1) 딕셔너리의 value값 가져오기
- dict.values()
2-2) 형 변환 : 특정 자료형을 다른 자료형으로 변환하는 것, list() 함수
- list(dict_values)사용 시 dict_values 자료형의 데이터를 리스트 자료형으로 형 변환
3-1) 딕셔너리의 key/value값을 쌍으로 가져오기
- dict.items()
3-2) 형 변환 : 특정 자료형을 다른 자료형으로 변환하는 것, list() 함수
- list(dict_items)사용 시 dict_items 자료형의 데이터를 리스트 자료형으로 형 변환
4-1) get()함수를 이용하여 key로 value를 가져오기
- dict.get(key)
5-1) for문에서 딕셔너리 key값 가져오기
- 기본적으로 for문은 뒤에 list변수명을 가지고 옴, 그러나 딕셔너리 변수명을 가지고 와도 상관없음
- for문에 딕셔너리 이름을 가지고 오면 기본적으로 key값을 가져옴
예시)
python_course={
"name": "Python Programming",
"level": "Entry Level",
"lecturer": "Donghun Lee",
"price": 39900,
"rating", 4.8
}
for key in python_course:
print(key)
출력 :
name
level
lecturer
price
rating
5-2) for문에서 딕셔너리 value값 가져오기
python_course={
"name": "Python Programming",
"level": "Entry Level",
"lecturer": "Donghun Lee",
"price": 39900,
"rating", 4.8
}
for value in python_course.values():
print(value)
출력 :
Python Programming
Entry Level
Donghun Lee
39900
4.8
5-3) for문으로 딕셔너리의 key/value값을 쌍으로 가져오기
- items()함수를 이용하여 딕셔너리의 key/value의 값을 가져올 수 있음
- in 앞에서 두개의 변수를 지정, 각각 key와 value를 저장
예시)
python_course={
"name": "Python Programming",
"level": "Entry Level",
"lecturer": "Donghun Lee",
"price": 39900,
"rating", 4.8
}
for key, value in python_course.itemes():
print(key, ":", value)
3. 딕셔너리 데이터 다루기
1-1) 딕셔너리내 신규 key에 value값 저장
- dict[key]=value **대괄호를 이용하여 표현한다
예시)
python_course = {} -> 빈 딕셔너리를 생성한다.
print(python_course)
python_course["name"]="Python programming"
python_course["level"]="Entry Level"
python_course["price"]="39900"
print(python_course)
출력 :
python_course = {
"name": "Pyhton",
"level": "Entry Level",
"price": "39900"
}
1-2) 딕셔너리내 기존 데이터 수정
**신규 데이터 추가하는 위의 방법이랑 동일하나, 기존 key값이 딕셔너리내에 존재하는 유무에 따라 달라짐
- dict[key]=value **대괄호를 이용하여 표현한다
예시)
python_course={
"name": "Python Programming",
"level": "Entry Level",
"lecturer": "Donghun Lee",
"price": 39900,
"rating", 4.8
}
python_course["rating"]=4.9
print(python_course)
출력 :
{"name": "Python Programming", "level": "Entry Level", "lecturer": "Donghun Lee", "price": 39900, "rating", 4.9}
1-3) 딕셔너리내 기존 데이터 삭제
- del문을 이용함
- del은 딕셔너리 뿐만 아나라 리스트 내 데이터 & 변수도 삭제 가능함
예시) number_list=[1, 2, 3], 리스트는 항상 인덱스를 이용하여 활용하는 것을 잊지말자!!
del number_list[0]
print(number_list)
출력 : [2, 3]
number=100
del number
print(number) 출력: 변수 없어짐
예시)
python_course={
"name": "Python Programming",
"level": "Entry Level",
"lecturer": "Donghun Lee",
"price": 39900,
"rating", 4.8
}
del python_course["name"]
del python_course["lecturer"]
print(python_course)
출력 : {"level: Entry Level", "price": 39900, "rating": 4.8}
1-4) pop()함수를 이용하여 key에 해당하는 데이터 삭제
- key에 해당하는 value값이 반환 됨
python_course={
"name": "Python Programming",
"level": "Entry Level",
"lecturer": "Donghun Lee",
"price": 39900,
"rating", 4.8
}
name = python_course.pop("name")
lecturer = python_course.pop("lecturer")
rating = python_course.pop("rating")
print(python_course)
출력 : {"level": "Entry Level", "price": 39900}
4. 자료구조의 중첩
1-1) 리스트 자료 내 딕셔너리가 있는 경우
예시) course_list=[
{"name": "Python", "level": "Entry Level"},
{"name": "AI", "level": "Basic"},
{"name": "Deep Learning", "level": "intermediate"}
]
이때 딕셔너리 내 value값을 가지고 오려면?
print(course_list[0]["name"]) 출력 : Python
print(course_list[1]) 출력 : {"name": "AI", "level": "Basic"}
print(course_list[2]["level"]) 출력 : intermediate
1-2)딕셔너리 자료 내 리스트 자료 또는 딕셔너리 자료 또는 문자형 데이터가 있는 경우
예시)
course={
"name": "Python",
"level", ["Entry", "Basic"],
"rating": 4.9,
"including": {"video": 50, "exercise": 20}
}
print(course["level") 출력 : ["Entry", "Basic"]
print(course["level"][1]) 출력 : Basic
print(couse["including"]) 출력 : {"video": 50, "exercise": 20}
print(couse["including"]["video"]) 출력 : 50
'데이터 분석' 카테고리의 다른 글
금융데이터 분석을 위한 Pandas 기초공부(2) (2) | 2022.06.08 |
---|---|
금융데이터 분석을 위한 Pandas 기초공부(1) (0) | 2022.06.06 |
파이썬 프로그래밍 기초 공부정리(3) (0) | 2022.05.31 |
파이썬 프로그래밍 기초 공부정리(2) (0) | 2022.05.30 |
파이썬 프로그래밍 기초 공부정리(1) (0) | 2022.05.30 |