# 기본 딕셔너리 작성
하나의 키에는 하나의 값만 넣을 수 있다.
capitals = {
"France": "Paris",
"Germany": "Berlin",
}
# 딕셔너리 내 리스트 넣기
쉼표로 구분해서 쓰면 키 하나당 값은 하나만 가능하므로 오류가 난다 -> 대괄호로 묶어주기
key는 하나의 값이고 : value는 여러개가 됨
travel_log = {
"France": ["Paris", "Lille", "Dijon"],
"Germany": ["Berlin", "Hamburg", "Stuttgart"],
}
* 중첩이라는 개념은 딕셔너리에만 있는게 아니며, 리스트 내에 리스트 중첩도 가능함.
# 딕셔너리 내 딕셔너리 넣기
예시) 방문한 나라들을 기록한다고 치고, 방문한 나라와 그 내 도시들을 나열, 몇 번 방문했는지 적는다면 아래와 같이 적을 수 있다.
travel_log = {
"France": {"cities_visited": ["Paris", "Lille", "Dijon"], "total_visits": 12},
"Germany": ["Berlin", "Hamburg", "Stuttgart"],
}
유데미 강의는 영어로만 되어있어서.. 내가 방문한 카페와 메뉴, 방문한 횟수로 바꿔서 정리해봤다
cafe = {
"스타벅스": {"먹어본_음료": ["아이스아메리카노", "유자민트티", "자몽허니블랙티", "돌체라떼"], "방문_횟수": 30},
"이디야": {"먹어본_음료": ["토피넛_라떼"], "방문_횟수": 12}
}
음 훨씬 이해가 쉽군 ㅎㅎㅎ
# 리스트 내 딕셔너리 중첩하기
구성은 아래와 같다. ▼
[{
key: [List],
key2: {Dict},
},
{
key: Value,
key2: Value,
}]
리스트는 순서대로 정렬되며 리스트 안의 인덱스를 이용해 값에 접근할 수 있다.
위에 방문한 나라의 예시에 country 값을 추가해 정리하면
travel_log = [
{
"country": "France",
"cities_visited": ["Paris", "Lille", "Dijon"],
"total_visits": 12
}
{
"country": "Germany",
"cities_visited" : ["Berlin", "Hamburg", "Stuttgart"],
"total_visits": 5
}
]
이렇게 정리할 수 있다.
딕셔너리 안의 값들은 원하는 어떤 자료형이든-숫자형, 문자형, 등-들어갈 수 있다.
키: 값 <- 키와 값 사이에는 항상 : 이 들어가야 한다.
Q. 리스트 관련 예제
travel_log = [
{
"country": "France",
"visits": 12,
"cities": ["Paris", "Lille", "Dijon"]
},
{
"country": "Germany",
"visits": 5,
"cities": ["Berlin", "Hamburg", "Stuttgart"]
},
위의 값에
"Russia", 2, ["Moscow", "Saint Petersburg"]
을 추가하는 함수를 만들어라.
답 ↓
travel_log = [
{
"country": "France",
"visits": 12,
"cities": ["Paris", "Lille", "Dijon"]
},
{
"country": "Germany",
"visits": 5,
"cities": ["Berlin", "Hamburg", "Stuttgart"]
},
]
# add_new_country 라는 함수 만들기(뒤에는 순서대로 방문한 나라, 방문한 횟수, 방문한 도시)
# new_country 라는 빈 딕셔너리 만들기
# 빈 딕셔너리인 new_country에 [키] = 값 추가 -> new_country["country"] = country_visited
# 마지막으로 원래 추가하려고 했던 travel_log에 append로 딕셔너리 추가해주기
def add_new_country(country_visited, times_visits, cities_visitied):
new_country = {}
new_country["country"] = country_visited
new_country["visits"] = times_visits
new_country["cities"] = cities_visitied
travel_log.append(new_country)
# 함수적용
add_new_country("Russia", 2, ["Moscow", "Saint Petersburg"])
# travel_log 출력
print((travel_log))
'개발공부 > Python' 카테고리의 다른 글
파이썬_출력과 함수(return)(수정중) (0) | 2023.03.16 |
---|---|
파이썬으로 경매 프로그램 만들기 (0) | 2023.03.16 |
파이썬 딕셔너리 예제 풀기_등급 만들기 프로그램 (0) | 2023.03.14 |
파이썬_딕셔너리(dictionary) (0) | 2023.03.14 |
파이썬 pickle 함수 GPT한테 물어봤음 (0) | 2023.03.13 |