삽입된 숫자로 문자열 정렬
숫자가 포함된 문자열 목록을 정렬하는 것은 다양한 데이터 유형으로 인해 어려울 수 있습니다. 다음 접근 방식은 이러한 문자열을 올바르게 정렬하기 위한 솔루션을 제공합니다.
문자열을 전처리하기 위해 도우미 함수 atoi()를 정의합니다. 이 함수는 문자열이 숫자를 나타내는 경우 문자열을 정수로 변환합니다. 그렇지 않으면 원래 문자열을 반환합니다. 이는 문자열에서 숫자 구성요소를 추출하는 데 도움이 됩니다.
다음으로 정규식을 사용하여 문자열을 분할하고 각 구성요소에 atoi() 함수를 적용하는 natural_keys() 함수를 소개합니다. 그러면 목록이 정렬 가능한 형식으로 변환됩니다.
sort() 메서드를 사용하여 natural_keys() 함수를 키 인수로 적용합니다. 알파벳순과 숫자 구성요소를 모두 고려하여 목록을 사람 순서로 정렬합니다.
예:
다음 문자열 목록을 고려하세요.
["something1", "something12", "something17", "something2", "something25", "something29"]
natural_keys() 함수를 사용하여 이 목록 정렬 생성:
['something1', 'something2', 'something12', 'something17', 'something25', 'something29']
부동 소수점을 사용하여 텍스트 정렬:
부동 소수점을 포함하도록 기능을 확장하려면 natural_keys()의 정규식 패턴을 부동 소수점과 일치하도록 수정할 수 있습니다. -포인트 숫자.
return [ atof(c) for c in re.split(r'[+-]?([0-9]+(?:[.][0-9]*)?|[.][0-9]+)', text) ]
여기서 atof()는 문자열을 문자열로 변환하려고 시도하는 도우미 함수입니다. float.
이를 통해 알파벳 및 부동 소수점 구성 요소를 모두 포함하는 문자열을 정렬할 수 있습니다.
위 내용은 포함된 숫자와 부동 소수점이 포함된 문자열을 자연스럽게 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!