데이터 분석의 일부로 사전에서 음수 값을 제거하는 시나리오를 접하게 됩니다. 이를 위해 사전의 각 요소를 반복하고 조건을 사용하여 값을 확인해야 합니다. 이를 달성하기 위해 아래 두 가지 접근 방식을 구현할 수 있습니다.
for 루프 사용
W는 단순히 for 루프를 사용하여 목록의 요소를 반복합니다. 모든 반복에서 items 함수를 사용하여 요소 값을 0과 비교하여 음수 값을 확인합니다.
예시
dict_1 = {'x':10, 'y':20, 'z':-30, 'p':-0.5, 'q':50} print ("Given Dictionary :", str(dict_1)) final_res_1 = dict((i, j) for i, j in dict_1.items() if j >= 0) print("After filtering the negative values from dictionary : ", str(final_res_1))
출력
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
Given Dictionary : {'x': 10, 'y': 20, 'z': -30, 'p': -0.5, 'q': 50} After filtering the negative values from dictionary : {'x': 10, 'y': 20, 'q': 50}
람다 함수 사용
더 짧고 명확한 구문을 위해 람다 함수를 사용합니다. 이 경우 위와 동일한 논리를 구현하지만 대신 람다 함수를 사용합니다.
예시
dictA = {'x':-4/2, 'y':15, 'z':-7.5, 'p':-9, 'q':17.2} print ("\nGiven Dictionary :", dictA) final_res = dict(filter(lambda k: k[1] >= 0.0, dictA.items())) print("After filtering the negative values from dictionary : ", str(final_res))
출력
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
Given Dictionary : {'x': -2.0, 'y': 15, 'z': -7.5, 'p': -9, 'q': 17.2} After filtering the negative values from dictionary : {'y': 15, 'q': 17.2}