> 백엔드 개발 > 파이썬 튜토리얼 > 목록에서 주어진 값에 가장 가까운 숫자를 찾는 방법은 무엇입니까?

목록에서 주어진 값에 가장 가까운 숫자를 찾는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-11 06:24:02
원래의
783명이 탐색했습니다.

How to Find the Closest Number in a List to a Given Value?

목록에서 주어진 값에 가장 가까운 숫자 찾기

정수 목록이 주어지면 어떤 숫자가 가장 가까운지 결정해야 할 수도 있습니다. 주어진 값으로. 이 작업은 다음 방법을 사용하여 효율적으로 처리할 수 있습니다.

정렬되지 않은 목록:

입력 목록이 정렬되지 않은 경우 내장된 min() 함수를 활용할 수 있습니다. 핵심 주장으로. 이를 통해 목표값과 절대차가 최소가 되는 요소를 찾을 수 있습니다.

>>> myList = [4, 1, 88, 44, 3]
>>> myNumber = 5
>>> min(myList, key=lambda x: abs(x - myNumber))
4
로그인 후 복사

이 방법은 전체 목록을 반복하므로 O(n) 시간이 걸립니다.

정렬된 목록:

또는 목록이 이미 정렬되어 있거나 정렬하려는 경우 일단 이분법을 사용할 수 있습니다. 이 기술은 이진 검색을 사용하여 대상 값의 삽입 지점을 찾아 O(log n) 시간 내에 가장 가까운 요소를 효과적으로 찾습니다. 다음은 Python의 bisect 모듈을 사용한 구현 예입니다.

>>> from bisect import bisect_left
>>> myList = sorted([4, 1, 88, 44, 3])
>>> myNumber = 5
>>> bisect_left(myList, myNumber)
2
>>> myList[2]
4
로그인 후 복사

위 내용은 목록에서 주어진 값에 가장 가까운 숫자를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿