728x90
해시(Hash)
해시(Hash)는 Key와 Value를 매핑해서 데이터를 저장하는 자료구조입니다. 파이썬에서는 딕셔너리 자료형이 해시 테이블과 같은 구조입니다.
해시를 사용하는 경우
1. 데이터 검색
해시 테이블을 사용하면 데이터를 O(1) 시간 복잡도로 빠르게 검색할 수 있습니다.
2. 데이터베이스 인덱싱
데이터베이스에서도 해시를 이용해 레코드를 빠르게 찾을 수 있는 인덱스를 생성합니다.
3. 중복 검사
해시 값을 이용해 값이 중복되었는지 빠르게 확인할 수 있습니다. Python에서는 Collections 모듈의 Counter를 사용해 계산할 수 있습니다.
Dictionary(Dict) 사용법
1. Dictionary 생성
- {}를 사용하거나 dict 함수를 사용하면 dictionary를 생성할 수 있습니다.
dic = {'name': 'Jason', 'age': '24'}
dic = dict(name='Jason', age='24')
2. Get(접근)
- dict[key]를 사용하거나, .get() 메소드를 사용해 키에 해당하는 값을 찾을 수 있습니다.
- get을 사용하면 .get('찾고자 하는 인덱스', 없을 때 출력되는 값)와 같이 사용할 수 있습니다.
name = dic['name']
age = dic.get('age', 0)
3. Set(추가 또는 수정)
- 키가 존재하지 않으면 추가하고, 존재하는 값이 있다면 업데이트합니다.
dic['address'] = 'Seoul' # 새로운 키 추가
dic['age'] = 25 # 기존 키 값 변경
4. Delete(삭제)
- 키와 그에 대응하는 값을 삭제합니다.
del dic['name'] # 키 'name'과 그 값을 삭제
5. Iterate(순회)
- 딕셔너리의 키, 값 또는 Key-Value 쌍을 순회합니다.
for key in dic:
print(key, dic[key])
for key, value in dic:
print(key, value)
6. Zip 함수 사용
- 두 개의 리스트나 시퀀스를 'zip()' 함수로 결합하여 'dict()'로 변환할 수 있습니다.
keys = ['name', 'age']
values = ['Jason', '24']
person = dict(zip(keys, values))
print(person)
# 출력: {'name': 'Jason', 'age': '24'}
7. Comprehension 사용
- 특정한 규칙에 따라 딕셔너리를 생성하려 할 때, 컴프리헨션을 사용해 'dict()'함수로 딕셔너리를 생성할 수 있습니다. 이를 통해 복잡한 로직을 간결하게 표현할 수 있습니다.
keys = ['name', 'age']
values = ['Jason', '24']
person = {key: value for key, value in zip(keys, values)}
print(person)
# 출력: {'name': 'Jason', 'age': '24'}
728x90
반응형
'Algorithm' 카테고리의 다른 글
[요약] 코딩테스트 파이썬 기초 핵심 (0) | 2024.06.20 |
---|---|
[프로그래머스] 신고 결과 받기 - 파이썬 (0) | 2024.05.22 |
[프로그래머스] 개인정보 수집 유효기간 - 파이썬 (0) | 2024.05.21 |
[프로그래머스] 신규 아이디 추천 - 파이썬 (0) | 2024.05.20 |
[프로그래머스] [PCCE 기출문제] 10번 데이터 분석 - 파이썬 (0) | 2024.05.18 |