Computer >> Máy Tính >  >> Lập trình >> Python

Trích xuất số từ danh sách các chuỗi trong Python

Trong khi sử dụng python để thao tác dữ liệu, chúng ta có thể bắt gặp danh sách có các phần tử là sự kết hợp của các chữ cái và số với một mẫu cố định. Trong bài viết này, chúng ta sẽ xem cách tách các chữ cái trong dạng số có thể được sử dụng cho các phép tính trong tương lai.

Với sự phân tách

Các hàm chia tách một chuỗi nhờ sự trợ giúp của một ký tự được coi là dấu phân cách. Trong chương trình bên dưới các phần tử danh sách có gạch nối làm dấu phân cách giữa các chữ cái và văn bản. Chúng tôi sẽ sử dụng điều đó cùng với vòng lặp for để nắm bắt từng

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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

Với bản đồ và số

Trong cách tiếp cận này, chúng tôi đi qua từng phần tử và kiểm tra phần số có trong mỗi phần tử. Hàm bản đồ được sử dụng để áp dụng lặp lại cùng một hàm trên mỗi phần tử.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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