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

Python의 문자열 목록에서 숫자 추출

<시간/>

데이터 조작을 위해 파이썬을 사용하는 동안, 요소가 고정된 패턴의 문자와 숫자가 혼합된 목록을 접할 수 있습니다. 이 기사에서는 향후 계산에 사용할 수 있도록 숫자와 문자를 분리하는 방법을 살펴보겠습니다.

분할 사용

split 함수는 구분 기호로 처리되는 문자를 사용하여 문자열을 분할합니다. 아래 프로그램에서 목록 요소에는 문자와 텍스트 사이의 구분 기호로 하이픈이 있습니다. 이를 for 루프와 함께 사용하여 각각을 캡처합니다.

listA = ['Mon-2', 'Wed-8', 'Thu-2', 'Fri-7']

# Given list
print("Given list : " + str(listA))

# Extracting numbers
num_list = [int(i.split('-')[1]) for i in listA]

# print result
print("List only with numbers : ",num_list)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list : ['Mon-2', 'Wed-8', 'Thu-2', 'Fri-7']
List only with numbers : [2, 8, 2, 7]

지도 및 숫자 사용

이 접근 방식에서는 각 요소를 살펴보고 각 요소에 있는 숫자 부분을 확인합니다. 맵 기능은 각 요소에 동일한 기능을 반복적으로 적용하는 데 사용됩니다.

listA = ['Mon-2', 'Wed-8', 'Thu-2', 'Fri-7']

# Given list
print("Given list : " + str(listA))

# Extracting numbers
num_list = list(map(lambda sub:int(''.join(
[i for i in sub if i.isnumeric()])), listA))

# print result
print("List only with numbers : ",num_list)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list : ['Mon-2', 'Wed-8', 'Thu-2', 'Fri-7']
List only with numbers : [2, 8, 2, 7]