TIL46. Complex Dictionary

Jaeyeon·2021년 3월 18일
0
post-thumbnail

🤔 복잡한 dictionary

bts = [
    {
        "실명" : "김남준",
        "가명" : "RM",
        "생년월일" : "1994년 9월 12일",
        "출생지" : "대한민국 서울특별시 동작구 상도동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "리더 · 메인 래퍼"
    },
    {
        "실명" : "김석진",
        "가명" : "진",
        "생년월일" : "1992년 12월 4일",
        "출생지" : "대한민국 경기도 과천시",
        "학력" : "한양사이버대학교 대학원",
        "포지션" : "서브 보컬"
    },
    {
        "실명" : "민윤기",
        "가명" : "슈가",
        "생년월일" : "1993년 3월 9일",
        "출생지" : "대한민국 대구광역시 북구 태전동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "리드 래퍼"
    },
    {
        "실명" : "정호석",
        "가명" : "제이홉",
        "생년월일" : "1994년 2월 18일",
        "출생지" : "대한민국 광주광역시 북구 일곡동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "서브 래퍼 · 메인 댄서"
    },
    {
        "실명" : "박지민",
        "가명" : "지민",
        "생년월일" : "1995년 10월 13일",
        "출생지" : "대한민국 부산광역시 금정구 금사동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "리드 보컬 · 메인 댄서"
    },
    {
        "실명" : "김태형",
        "가명" : "뷔",
        "생년월일" : "1995년 12월 30일",
        "출생지" : "대한민국 대구광역시 서구 비산동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "서브 보컬"
    },
    {
        "실명" : "전정국",
        "가명" : "정국",
        "생년월일" : "1997년 9월 1일",
        "출생지" : "대한민국 부산광역시 북구 만덕동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "메인 보컬 · 서브 래퍼 · 리드 댄서"
    }
]
for i in bts:
    if i["가명"] == "제이홉":
        print(i["생년월일"])

이렇게 정리를 할 수 있지만 list의 총 길이가 길어지면 실행속도가 확연히 느려 질 것이다.

그래서 이럴 때 필요한 것이 Nested Dictionary (중첩 딕셔너리) 이다.

💡 Nested Dictionary (중첩 딕셔너리)

  • 말 그대로 해석을 하면 중첩 딕셔너리 로 해석을 할 수 있겠다.
  • 2차원 리스트 처럼 딕셔너리를 또 다른 딕셔너리로 감싸는 것을 의미한다.
bts = {
    "RM": {
        "실명" : "김남준",
        "가명" : "RM",
        "생년월일" : "1994년 9월 12일",
        "출생지" : "대한민국 서울특별시 동작구 상도동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "리더 · 메인 래퍼"
    },
    "진": {
        "실명" : "김석진",
        "가명" : "진",
        "생년월일" : "1992년 12월 4일",
        "출생지" : "대한민국 경기도 과천시",
        "학력" : "한양사이버대학교 대학원",
        "포지션" : "서브 보컬"
    },
    "슈가": {
        "실명" : "민윤기",
        "가명" : "슈가",
        "생년월일" : "1993년 3월 9일",
        "출생지" : "대한민국 대구광역시 북구 태전동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "리드 래퍼"
    },
    "제이홉": {
        "실명" : "정호석",
        "가명" : "제이홉",
        "생년월일" : "1994년 2월 18일",
        "출생지" : "대한민국 광주광역시 북구 일곡동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "서브 래퍼 · 메인 댄서"
    },
    "지민": {
        "실명" : "박지민",
        "가명" : "지민",
        "생년월일" : "1995년 10월 13일",
        "출생지" : "대한민국 부산광역시 금정구 금사동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "리드 보컬 · 메인 댄서"
    },
    "뷔": {
        "실명" : "김태형",
        "가명" : "뷔",
        "생년월일" : "1995년 12월 30일",
        "출생지" : "대한민국 대구광역시 서구 비산동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "서브 보컬"
    },
    "정국": {
        "실명" : "전정국",
        "가명" : "정국",
        "생년월일" : "1997년 9월 1일",
        "출생지" : "대한민국 부산광역시 북구 만덕동",
        "학력" : "글로벌사이버대학교 방송연예학과",
        "포지션" : "메인 보컬 · 서브 래퍼 · 리드 댄서"
    }
}

방법은 간단하다.
이와 같이 딕셔너리 안에 딕셔너리를 또 넣고 2차원리스트 처럼 사용하면 간편하다.

print(bts["제이홉"]["생년월일"])
profile
생각하는 개발자 되기

0개의 댓글