Development/파이썬 [Python]

[Python] 파이썬 Dictionary 사용방법

요체크다 2022. 10. 19. 16:21
반응형

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')]
반응형