반응형
Python에서 제공하는 자료구조 중 많이 사용하는 것중 하나가 Dictionary 입니다.
Dictionary 의 경우 기본적으로 key와 value가 하나 또는 여러개가 { } 로 묶여져 있는 형태이고, Dictionary 내에 있는 데이터의 경우 쉼표(,)로 구분됩니다.
{key:value, key:value, key:value} |
1. Dictionary 기초
1) Dictionary 선언
가) 데이터가 없는 빈 Dictionary 선언
port_dict = dict()
나) 데이터가 존재하는 Dictionary 선언
port_dict = {'21':'ftp', '22':'ssh', '23':'telnet'}
print(port_dict)
# Output:
{'21': 'ftp', '22': 'ssh', '23': 'telnet'}
2) 값 추가
port_dict['80'] = 'http'
print(port_dict)
# Output:
{'21': 'ftp', '22': 'ssh', '23': 'telnet', '80': 'http'}
3) 값 삭제
del(port_dict['21'])
print(port_dict)
# Output:
{'22': 'ssh', '23': 'telnet'}
4) 값 갱신
port_dict['23'] = 'telnet-1'
print(port_dict)
# Output:
{'21': 'ftp', '22': 'ssh', '23': 'telnet-1'}
2. Dictionary 사용
1) key 를 통한 value 조회
print(port_dict['22'])
# Output:
ssh
2) for문 실행
for key, val in port_dict.items():
print(key, val)
# Output:
21 ftp
22 ssh
23 telnet
3) 값 존재 여부 확인
if '22' in port_dict:
print('ssh 존재')
# Output:
ssh 존재
4) 두개의 List를 Dictionary 변환
id = ['21', '22', '23', '80']
name = ['ftp', 'telnet', 'ssh', 'http']
id_name = [id, name]
port_dict = dict(zip(*id_name))
print(port_dict)
# Output:
{'21': 'ftp', '22': 'telnet', '23': 'ssh', '80': 'http'}
5) key를 기준으로 정렬(오름차순)
key 값을 기준으로 오름차순으로 정렬 하는 경우 sorted를 사용하고 item에[0] 이 dict의 key 를 의미합니다.
port_dict = {'443':'https', '22':'ssh','21':'ftp', '23':'telnet'}
sort_port_dict = sorted(port_dict.items(), key=lambda item: item[0])
print(sort_port_dict)
# Output:
[('21', 'ftp'), ('22', 'ssh'), ('23', 'telnet'), ('443', 'https')]
6) key를 기준으로 정렬(내림차순)
오름차순과 코드는 동일하며, reverse=True 를 사용하면 됩니다.
port_dict = {'443':'https', '22':'ssh','21':'ftp', '23':'telnet'}
sort_port_dict = sorted(port_dict.items(), key=lambda item: item[0], reverse=True)
print(sort_port_dict)
# Output:
[('443', 'https'), ('23', 'telnet'), ('22', 'ssh'), ('21', 'ftp')]
7) value를 기준으로 정렬(오름차순)
key 값을 기준으로 오름차순으로 정렬 하는 경우 sorted를 사용하고 item에[1] 이 dict의 value 를 의미합니다.
port_dict = {'443':'https', '22':'ssh','21':'ftp', '23':'telnet'}
sort_port_dict = sorted(port_dict.items(), key=lambda item: item[1])
print(sort_port_dict)
# Output:
[('21', 'ftp'), ('443', 'https'), ('22', 'ssh'), ('23', 'telnet')]
8) value를 기준으로 정렬(내림차순)
오름차순과 코드는 동일하며, reverse=True 를 사용하면 됩니다.
port_dict = {'443':'https', '22':'ssh','21':'ftp', '23':'telnet'}
sort_port_dict = sorted(port_dict.items(), key=lambda item: item[1], reverse=True)
print(sort_port_dict)
# Output:
[('23', 'telnet'), ('22', 'ssh'), ('443', 'https'), ('21', 'ftp')]
반응형
'Development > 파이썬 [Python]' 카테고리의 다른 글
[Python] 파이썬 디렉토리 크기 확인 (0) | 2022.11.22 |
---|---|
[Python] 파이썬 파파고(Papago) API 연동 (3) | 2022.11.15 |
[Python] 파이썬 3.0 이전 버전에서 한글 주석 사용하기 (0) | 2022.10.18 |
[Python] 파이썬 exe 파일 Windows 기본 icon 사용하기 (0) | 2021.02.08 |
[Python] 파이썬 Windows 서비스 등록 (3) | 2021.02.06 |