파이썬 목록에 있는 항목의 값은 반드시 정렬된 순서로 되어 있지는 않습니다. 또한 특정 값보다 큰 특정 값에만 관심이 있는 상황이 있을 수 있습니다. 이 기사에서는
열거 사용
열거를 사용하여 목록에 있는 요소의 인덱스와 값을 모두 얻습니다. 그런 다음 조건이 충족되는 첫 번째 요소만 얻기 위해 보다 큼 조건을 적용합니다. 다음 함수는 각 목록 요소를 하나씩 살펴봅니다.
예시
List = [21,10,24,40.5,11] print("Given list: " + str(List)) #Using next() + enumerate() result = next(k for k, value in enumerate(List) if value > 25)print("Index is: ",result)
위의 코드를 실행하면 다음과 같은 결과가 나옵니다.
출력
Given list: [21, 10, 24, 40.5, 11] Index is: 3
필터 및 Lambda 함수 사용
다음 예제에서는 람다 함수를 사용하여 주어진 값을 각 인덱스의 값과 비교한 다음 필요한 조건을 충족하는 값을 필터링합니다. 필요한 조건을 만족하는 요소 목록에서 인덱스 0에 있는 첫 번째 요소를 답으로 선택합니다.
예시
List = [21,10,24,40.5,11] print("Given list: " + str(List)) #Using filter() + lambda result = list(filter(lambda k: k > 25, List))[0] print("Index is: ",List.index(result))
위의 코드를 실행하면 다음과 같은 결과가 나옵니다.
출력
Given list: [21, 10, 24, 40.5, 11] Index is: 3
지도 및 람다 사용
다음 예에서는 유사한 접근 방식을 취하지만 필터 대신 맵을 사용합니다. map 함수는 각 요소를 반복하는 데 사용됩니다. 조건이 true가 될 때마다 해당 인덱스가 캡처됩니다.
예시
List = [21,10,24,40.5,11] print("Given list: " + str(List)) result = list(map(lambda k: k > 25, List)).index(True) print("Index is: ",(result))
위의 코드를 실행하면 다음과 같은 결과가 나옵니다.
출력
Given list: [21, 10, 24, 40.5, 11] Index is: 3