python dictionary

유동헌·2021년 9월 13일
0

공부도 안되고.. 알고리즘 풀다가 dictionary 관련 내용 정리한 기록입니다.

https://security-nanglam.tistory.com/427 블로그를 참고하였습니다.

https://eskimo-igloo.tistory.com/222 블로그도 참고하였습니다.

공부 소스는 모두 위 두 개 블로그에서 가져왔습니다.

딕셔너리 접근 1

dct = {
    '1' : 'A',
    '2' : 'B',
    '3' : 'C'
}

key = input('접근하고자 하는 키를 입력해라')

if key in dct:
    print(dct[key])
else:
    print('존재하지 않는 키입니다')

# 출력
# 접근하고자 하는 키를 입력해라1
# A

딕셔너리 접근 2

dct = {
    '1' : 'A',
    '2' : 'B',
    '3' : 'C'
}

value = dct.get('name')
print('value', value)
# 출력 value None

value2 = dct.get('1')
print('value2 : ', value2)

# 출력
# value None
# value2 :  A

딕셔너리 접근 3

value_none = dct.get('없는 키')
if value_none == None:
    print('존재하지 않는 키')

# 출력
# 존재하지 않는 키

딕셔너리 접근 4

dct = {
    'name'   : 'python',
    'age'    : '20',
    'gender' : 'male'
}

for key in dct:
    print(key, ':', dct[key])

# 출력
# name : python
# age : 20
# gender : male

딕셔너리 접근 5

리스트의 요소 숫자 세기

numbers = [1,6,2,5,1,6,1,2,3,45,6,7,8,9,6,5,5,4,4,3,3,1]

counter = {}

for number in numbers:
    if number in counter:
        counter[number] = counter[number] + 1
    else:
        counter[number] = 1
print(counter)

# 출력
# {1: 4, 6: 4, 2: 2, 5: 3, 3: 3, 45: 1, 7: 1, 8: 1, 9: 1, 4: 2}

딕셔너리 접근 6

character = {
    'name' : '병사1',
    'class' : 'knight',
    'item' : {
        'sword' : '불꽃의 검',
        'armor' : '불꽃 방패' 
    },
    'skill' : ['베기', '강하게 베기', '필살기']
}

for key in character:
    if type(character[key]) is dict:
        for k in character[key]:
            print('{} : {}'.format(k, character[key][k]))
    elif type(character[key]) is list:
        for item in character[key]:
            print('{} : {}'.format(key, item))
    else:
        print('{} : {}'.format(key, character[key]))
        
# 출력
# name : 1234
# class : knight
# sword : 불꽃의 검
# armor : 불꽃 방패
# skill : 베기
# skill : 강하게 베기
# skill : 필살기

딕셔너리 → 리스트

string_list = ['A', 'B', 'C']

dct1 = {str : 0 for str in string_list}
dct2 = {str : i for i, str in enumerate(string_list)}
print(dct1)
print(dct2)
value값 숫자
출력
{'A': 0, 'B': 0, 'C': 0}
{'A': 0, 'B': 1, 'C': 2}

dct3 = dict.fromkeys(string_list, 0)
print(dct3)
# 출력
# {'A': 0, 'B': 0, 'C': 0}

dct4 = {i : string_list[i] for i in range(len(string_list))}
print(dct4)

# 두개의 리스트
string_list = ['A', 'B', 'C']
int_list    = ['1', '2', '3']

dct1 = dict(zip(string_list, int_list))
print(dct1)
# 출력
# {'A': '1', 'B': '2', 'C': '3'}

tuple_list = [(1, 'A'), (2, 'B'), (3, 'C')]
dct2 = dict(tuple_list)
print(dct2)
# 출력
# {1: 'A', 2: 'B', 3: 'C'}
profile
지뢰찾기 개발자

0개의 댓글