Python/Python Basic

Python Basic : dictionary setdefault (dictionary에 존재하지 않는 key를 전달했을 때 발생하는 에러 해결. dictionary용 nvl)

CosmosProject 2022. 10. 11. 00:34
728x90
반응형

 

 

 

Syntax

dictionary.setdefault(key, default_value)

 

setdefault method는 dictionary에 적용할 수 있는 method이며 2개의 인자를 받습니다.

 

- key

setdefault method는 전달받은 key값에 대한 value를 dictionary에서 찾아 return 해줍니다.

 

- default_value

만약 전달받은 key값이 dictionary에 없을 경우 default_value를 return합니다.

 

 

 

 

 

 

dict_test = {
    'key1': 1,
    'key2': 2,
    'key3': 3
}

val_result_1 = dict_test.setdefault('key1', 10)
print(val_result_1)



-- Result
1

 

위 예시를 봅시다.

 

- val_result_1 = dict_test.setdefault('key1', 10)

이 부분을 해석해보면 dict_test에서 key1이라는 key값을 찾고 그 key값에 해당하는 value를 return해서 val_result_1 변수에 할당하라는 의미입니다.

 

dict_test에서 key1이라는 key값은 존재합니다. 그리고 key1에 대한 value는 1입니다.

따라서 1이 return됩니다.

 

결과를 보면 1이 출력된 것을 알 수 있습니다.

 

 

 

 

 

 

dict_test = {
    'key1': 1,
    'key2': 2,
    'key3': 3
}

val_result_2 = dict_test.setdefault('key4', 10)
print(val_result_2)



-- Result
10

 

- val_result_2 = dict_test.setdefault('key4', 10)

위 예시에서는 setdefault method의 첫 번째 인자로서 key4라는 값이 전달되었습니다.

dict_test에 key4라는 key는 존재하지 않습니다.

 

따라서 10을 return합니다.

 

 

 

- 참고

setdefault method랑 굉장히 비슷한 method가 있는데 바로 get method입니다.

 

get method의 자세한 내용은 아래 글을 참고하면 됩니다.

https://cosmosproject.tistory.com/417

 

Python Basic : get (dictionary에 존재하지 않는 key를 전달했을 때 발생하는 에러 해결. dictionary용 nvl)

dict_test = { 'a': 1, 'b': 2, 'c': 3, } sample_value = dict_test['d'] print(sample_value) -- Result KeyError: 'd' 위 코드를 실행시켜보면 KeyError가 발생합니다. 왜냐면 dict_test라는 dictionary에는 a,..

cosmosproject.tistory.com

 

 

 

 

 

 

728x90
반응형