주어진 문자열 목록을 문자열의 숫자 부분으로 정렬해야 하는 경우 정규식과 'findall' 메서드를 사용합니다.
예시
아래는 동일한 데모입니다 -
import re def my_num_sort(my_str): return list(map(int, re.findall(r'\d+', my_str)))[0] my_list = ["pyth42on", '14is', '32fun', '89to', 'lea78rn'] print("The list is :") print(my_list) my_list.sort(key=my_num_sort) print("The result is :") print(my_list)
출력
The list is : ['pyth42on', '14is', '32fun', '89to', 'lea78rn'] The result is : ['14is', '32fun', 'pyth42on', 'lea78rn', '89to']
설명
-
필요한 패키지를 환경으로 가져옵니다.
-
문자열을 매개변수로 사용하는 메서드가 정의되어 있습니다.
-
특정 패턴과 일치하는 항목을 찾기 위해 'findall' 방법을 사용합니다.
-
이것을 'map' 메소드를 사용하여 문자열로 변환한 다음 'list'로 변환합니다.
-
이것은 메서드의 출력으로 반환됩니다.
-
메소드 외부에서 문자열 목록이 정의되고 콘솔에 표시됩니다.
-
목록은 이전에 정의된 방식으로 키를 기준으로 정렬됩니다.
-
이 목록은 콘솔에 출력으로 표시됩니다.