28. 파이썬 - dictionary

2024. 7. 10. 22:033층 1구역 - 개발의 장/Python 프로그래밍 핵심 개념

1. 서론

my_list = [2, 3, 5, 7, 11, 13]

 

위와 같이 리스트를 이용하면 값들을 원하는 순서로 정리해 놓을 수 있다.

 

my_list = [2, 3, 5, 7, 11, 13]
print(my_list[1])
print(my_list[3])

 

그리고 리스트의 값을 불러오려면 위와 같이 인덱스를 이용하여 인덱싱 해주면 된다.

 

이렇게 여러 값을 모아놓을 수 있는 자료형으로 파이썬에는 사전(dictionary) == (자바에서 map과 비슷한 것.)이 존재한다.

보통 사전이라는 것은 단어와 뜻이 하나의 쌍을 이루는데

파이썬 사전에서는 key-value pair(키-값 쌍)가 된다.

 

2. 본론

2-1. 사전(dictionary)의 기본 구조 및 사용해보기

my_dictionary = {
    5: 25,  # 키가 5이고 값이 25 그리고 쉼표(콤마)를 이용하여 쌍을 구분한다.
    2: 4,  # 키가 2고 값이 4
    3: 9  # 키가 3이고 값이 9
}

 

사전의 기본 구조는 위와 같다. 이게 진짜 사전인지 타입을 알아보자.

 

print(type(my_dictionary))

 

 

위와 같이 'dict'라고 출력되는 것을 볼 수 있다. dictionary의 약어이다. 이제 타입이 사전인 것을 확인했으니

저장된 값을 불러와보자.

 

print(my_dictionary[3])

 

 

위와 같이 사전 변수 대괄호에 키를 써주면 값을 받아올 수 있다.(예: 3을 써주면 9가 결과로 나온다.)

 

2-2. 사전에 키-값 추가하기

my_dictionary[9] = 81
print(my_dictionary)

 

 

위와 같이 사전 변수 대괄호 안에 키를 대입 연산자 오른쪽에 값을 넣어주면 된다.

 

2-3. 그럼 문자열은 사전으로 만들 수 있을까?

가능하다.

 

my_family = {
    '엄마': '김자옥',
    '아빠': '이석진',
    '아들': '이동민',
    '딸': '이지영'
}
print(my_family['아빠'])

 

위와 같이 사전을 만들고 아빠 라는 키에 해당하는 값을 출력해보면?

 

위와 같이 나오는 것을 확인할 수 있다.

 

3. 결론

이렇게 보면 리스트와 사전은 굉장히 비슷하다.

그러면 어떤 차이점이 있을까???

 

리스트는 인덱스 라는 순서가 존재한다.

예를 들어, a = [1, 2, 5, 3] 라는 리스트가 있다면

0번 인덱스에 1이,

1번 인덱스에 2가,

2번 인덱스에 5가,

3번 인덱스에 3이

저장된다.

 

근데 우리가 처음에 만든 사전을 보면

my_dictionary = {
    5: 25,  # 키가 5이고 값이 25 그리고 쉼표(콤마)를 이용하여 쌍을 구분한다.
    2: 4,  # 키가 2고 값이 4
    3: 9  # 키가 3이고 값이 9
}

 

키를 5, 2, 3 무작위로 부여해줬다. 딱히 순서라는 개념이 없다는 뜻이다.

그리고 리스트의 인덱스는 정수값이지만, 사전의 키는 딱히 정수형일 필요가 없다.

'3층 1구역 - 개발의 장 > Python 프로그래밍 핵심 개념' 카테고리의 다른 글

30. 파이썬 - aliasing  (0) 2024.07.10
29. 파이썬 - dictionary 응용  (0) 2024.07.10
27. 파이썬 - range  (0) 2024.07.08
26. 파이썬 - for  (0) 2024.07.08
25. 파이썬 - list3  (0) 2024.07.07