Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python – 주어진 문자열 목록을 문자열의 숫자 부분으로 정렬

<시간/>

주어진 문자열 목록을 문자열의 숫자 부분으로 정렬해야 하는 경우 정규식과 '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'로 변환합니다.

  • 이것은 메서드의 출력으로 반환됩니다.

  • 메소드 외부에서 문자열 목록이 정의되고 콘솔에 표시됩니다.

  • 목록은 이전에 정의된 방식으로 키를 기준으로 정렬됩니다.

  • 이 목록은 콘솔에 출력으로 표시됩니다.