Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python - 주어진 사전에서 음수 값 필터링

<시간/>

데이터 분석의 일부로 사전에서 음수 값을 제거하는 시나리오를 접하게 됩니다. 이를 위해 사전의 각 요소를 반복하고 조건을 사용하여 값을 확인해야 합니다. 이를 달성하기 위해 아래 두 가지 접근 방식을 구현할 수 있습니다.

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}