2021-04-29 08:40:39

오늘은 딕셔너리 객체의 한 메소드인 setdefault() 메소드의 사용법에 대해 알아보도록 하겠습니다. 

 

dict.setdefault(key, value)

 

우선 첫번째 파라미터는 필수 입력 사항이고, 두번째 파라미터는 선택 사항입니다.

 

첫번째 파라미터로 받은 것과 동일한 key가 딕셔너리 내에 존재하면 그 키의 값을 반환합니다. 만약 첫번째 파라미터로 받은 것과 동일한 key가 딕셔너리에 존재하지 않으면 None을 반환합니다. 그리고 딕셔너리에 그 key를 추가해줍니다. 만약 두번째 파라미터도 함께 전달하는데 첫번째 파라미터로 받은 것과 동일한 key가 딕셔너리에 존재하면 두번째 파라미터는 아무런 효력을 발휘하지 않습니다. 하지만, 첫번째 파라미터로 받은 것과 동일한 key가 딕셔너리에 존재하지 않는다면, 첫번째 파라미터로 받은 것은 키가 두번째 파라미터로 받은 것은 그것의 값이 됩니다.  

 

예시를 위해 다음과 같은 딕셔너리 a가 있다고 가정하겠습니다.

 

 

setdefault() 메소드에 'samsung'이라는 키를 첫번째 파라미터로 주면 어떻게 될까요?

 

 

예상하셨듯이 그 키의 값인 'korea'가 반환되었습니다. 그리고 딕셔너리 a에는 변화가 없습니다.

 

만약 이 딕셔너리에 없는 키를 전달해주면 어떻게 될까요?

 

 

None을 반환합니다. 그리고 딕셔너리 a에는 키와 값 쌍이 추가됩니다. 값은 None이 들어갔습니다. 

 

다음과 같이 두개의 파라미터를 전달해주면 첫번째 파라미터로 받은 것과 동일한 key가 있는지 확인한 후에 있다면, 그것의 값을 반환하고, 없다면 그것을 key로 하고 두번째 파라미터를 값으로 삼아서 딕셔너리에 추가해줍니다. 

 

 

관련 글

[python] 딕셔너리 객체의 get() 메소드 사용법