데이터 분석

파이썬 프로그래밍 기초 공부정리(4)

남참새 2022. 6. 1. 16:39
728x90
반응형

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