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

Python - Sắp xếp danh sách các chuỗi đã cho theo phần số của chuỗi

Khi được yêu cầu sắp xếp danh sách các chuỗi đã cho theo phần số của chuỗi, biểu thức chính quy và phương thức "findall" được sử dụng.

Ví dụ

Dưới đây là một minh chứng về điều tương tự -

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)

Đầu ra

The list is :
['pyth42on', '14is', '32fun', '89to', 'lea78rn']
The result is :
['14is', '32fun', 'pyth42on', 'lea78rn', '89to']

Giải thích

  • Các gói bắt buộc được nhập vào môi trường.

  • Một phương thức được định nghĩa nhận một chuỗi làm tham số.

  • Nó sử dụng phương pháp 'findall' để tìm một kết quả phù hợp với mẫu cụ thể.

  • Điều này được chuyển đổi thành một chuỗi bằng cách sử dụng phương thức "bản đồ", sau đó thành một "danh sách".

  • Điều này được trả về dưới dạng đầu ra của phương thức.

  • Bên ngoài phương thức, một danh sách các chuỗi được xác định và hiển thị trên bảng điều khiển.

  • Danh sách được sắp xếp dựa trên khóa như phương pháp đã xác định trước đó.

  • Danh sách này được hiển thị dưới dạng đầu ra trên bảng điều khiển.