저는 파이썬 문자열 목록을 가지고 있습니다. 초기화 다음 없기 :Python 목록에서 "가장 가까운"문자열 찾기 (알파벳순)
l = ['aardvark', 'cat', 'dog', 'fish', 'tiger', 'zebra']
내가 알파벳 순으로이 목록에 대한 입력 문자열을 테스트하고 "아래 가장 가까운 문자열"과 "위 가까운 문자열을"찾아 좋아하는 경우 소문자를 구별 것 (즉, 더 음성학을 , 단지 a<b
등). 입력이 목록에 있으면 "아래"와 "위"모두 입력을 반환해야합니다.
몇 가지 예 :
Input | Below | Above
-------------------------------
bat | aardvark | cat
aaa | None | aardvark
ferret | dog | fish
dog | dog | dog
파이썬에서 이것을 달성하기 위해 산뜻한 방법은 무엇입니까? (현재 for 루프를 사용하여 정렬 된 목록을 반복합니다.)
더 자세히 설명하려면 다음과 같이하십시오. 저는 Levenshtein이나 음성학과 같은 간단한 사전 사전 순 검색에 관심이 없습니다.
감사
당신이에 문제 바꿔 수
일뿐만 아니라 :) –
당신은 목록이 비어있는 경우 돌볼 필요가 선택 이름 : 경우 인덱스 == 0 : 왼쪽 다른 = 없음 : 왼쪽 = 건초 더미 [ 인덱스-1] 경우 인덱스 == 렌 (건초 더미) : 권리 = 다른 없음 : 권리 = 건초 더미 [인덱스] 왼쪽 수익이 오른쪽 – tonfa
죄송합니다, 나는 주석 내부에 코드를 삽입하는 것이 가능했다 생각했다. – tonfa