소개
Python 에서 딕셔너리와 리스트는 중첩된 값을 포함할 수 있으며, 이는 선택자 리스트를 사용하여 접근할 수 있습니다. 이 챌린지에서는 주어진 선택자 리스트에 의해 표시된 중첩 키의 값을 딕셔너리 또는 리스트에서 가져오는 함수를 만들 것입니다.
Python 에서 딕셔너리와 리스트는 중첩된 값을 포함할 수 있으며, 이는 선택자 리스트를 사용하여 접근할 수 있습니다. 이 챌린지에서는 주어진 선택자 리스트에 의해 표시된 중첩 키의 값을 딕셔너리 또는 리스트에서 가져오는 함수를 만들 것입니다.
딕셔너리 또는 리스트 d와 선택자 리스트 selectors를 인수로 받아 주어진 선택자 리스트에 의해 표시된 중첩 키의 값을 반환하는 함수 get(d, selectors)를 작성하십시오. 키가 존재하지 않으면 None을 반환합니다.
이 함수를 구현하기 위해 functools.reduce()를 사용하여 selectors 리스트를 반복합니다. selectors의 각 키에 대해 operator.getitem()을 적용하여 다음 반복에 대한 반복자로 사용될 값을 가져옵니다.
from functools import reduce
from operator import getitem
def get(d, selectors):
return reduce(getitem, selectors, d)
users = {
'freddy': {
'name': {
'first': 'fred',
'last': 'smith'
},
'postIds': [1, 2, 3]
}
}
get(users, ['freddy', 'name', 'last']) ## 'smith'
get(users, ['freddy', 'postIds', 1]) ## 2
이 챌린지에서는 선택자 리스트를 사용하여 딕셔너리 또는 리스트에서 중첩 키의 값을 가져오는 방법을 배웠습니다. get() 함수를 구현하기 위해 functools.reduce()와 operator.getitem()을 사용했습니다.