파이썬 : 자료구조(사전)

마법사 슬기·2021년 9월 27일
0

파이썬

목록 보기
1/7
post-thumbnail

📖 사전

사전(Dictionary)은 리스트나 집합처럼 여러 객체를 모아 만든 객체다.
다른 자료구조와의 큰 차이는 다양한 종류의 불변 객체를 사용해서 자료에 접근할 수 있다는 것(숫자, 문자열을 사용해서 자료에 접근 가능)

사전에 사용되는 인덱스는 키(key)라고 부르고, 키가 가리키는 대상 객체는 값(value)라고 부른다.
키와 값의 쌍을 key-value pair라 한다.
사전은 중괄호 {}나 dict() 함수를 이용하여 만들 수 있다.

majors = {"CS": "Computer Science",
          "EE": "Electrical Engineering",
          "MAS": "Mathematical Sciences",
          "ME": "Mechanical Engineering"}

d1 = dict() # an empty dictionary
d2 = {} # an empty dictionary

majors["PH"] = "Physic"
print(majors)
majors["PH"] = "Physics"
print(majors)
majors[0] = 0.001
print(majors)
print(len(majors))
print("CS" in majors)
print("AI" in majors)
print(majors.keys())
print(majors.values())
print(majors.items())
for key in majors:
    print("%s is %s" % (key, majors[key]))
for key, value in majors.items():
    print("%s is %s" % (key, value))

결과값은 다음과 같다.

{'CS': 'Computer Science', 'EE': 'Electrical Engineering', 'MAS': 'Mathematical Sciences', 'ME': 'Mechanical Engineering', 'PH': 'Physic'}
{'CS': 'Computer Science', 'EE': 'Electrical Engineering', 'MAS': 'Mathematical Sciences', 'ME': 'Mechanical Engineering', 'PH': 'Physics'}
{'CS': 'Computer Science', 'EE': 'Electrical Engineering', 'MAS': 'Mathematical Sciences', 'ME': 'Mechanical Engineering', 'PH': 'Physics', 0: 0.001}
6
True
False
dict_keys(['CS', 'EE', 'MAS', 'ME', 'PH', 0])
dict_values(['Computer Science', 'Electrical Engineering', 'Mathematical Sciences', 'Mechanical Engineering', 'Physics', 0.001])
dict_items([('CS', 'Computer Science'), ('EE', 'Electrical Engineering'), ('MAS', 'Mathematical Sciences'), ('ME', 'Mechanical Engineering'), ('PH', 'Physics'), (0, 0.001)])
CS is Computer Science
EE is Electrical Engineering
MAS is Mathematical Sciences
ME is Mechanical Engineering
PH is Physics

💻 사전 관련 함수

len(d) : d의 원소의 수를 반환한다.
key in d : d가 key를 가지고 있으면 True를, 아니면 False를 반환한다.
d.get(key, default=None) : d에서 key가 가리키는 값을 반환한다.
			   d가 key를 가지고 있지 않으면 default 값을 반환한다.
d.keys() : d의 모든 key 객체 목록을 반환한다.
d.values() : d의 모든 value 객체 목록을 반환한다.
d.items() : d의 모든 key-value pair를 사전 d에서 제거한다.

key(), value(), items()로 반환되는 객체는 리스트 객체가 아니다.
이 객체들은 리스트처럼 원소들을 가지고 있지만, 객체를 변경할 수 없다.
(.appen()와 같이 원소를 추가할 수 없다.)

profile
예대출신 비전공자의 개발일지

0개의 댓글