Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chuyển đổi danh sách chuỗi số thành danh sách số nguyên đã sắp xếp trong Python

Phân tích dữ liệu Python có thể đưa ra tình huống: list chứa số dưới dạng chuỗi. Cần chuyển thành số nguyên và sắp xếp.

Sử dụng map và sorted

Áp dụng int() cho mỗi phần tử bằng map(). Sau đó dùng sorted() để sắp xếp. Xử lý được số âm.

Ví dụ

listA = ['54', '21', '-10', '92', '5']  # Danh sách cho trước
print("Given list : \n", listA)
# Sử dụng map
listint = map(int, listA)
# Áp dụng sắp xếp
res = sorted(listint)  # Kết quả
print("Sorted list of integers: \n", res)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

Given list : ['54', '21', '-10', '92', '5'] Sorted list of integers: [-10, 5, 21, 54, 92]

Sử dụng int và sort

Dùng vòng lặp for áp dụng int(), lưu vào list. Sau đó dùng sort() cho list.

Ví dụ

listA = ['54', '21', '-10', '92', '5']  # Danh sách cho trước
print("Given list : \n", listA)
# Chuyển sang int
res = [int(x) for x in listA]
# Áp dụng sort
res.sort()  # Kết quả
print("Sorted list of integers: \n", res)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

Given list : ['54', '21', '-10', '92', '5'] Sorted list of integers: [-10, 5, 21, 54, 92]

Sử dụng sorted và int

Tương tự nhưng áp dụng int() qua vòng lặp for và gói kết quả trong sorted(). Biểu thức đơn dòng cho kết quả cuối.

Ví dụ

listA = ['54', '21', '-10', '92', '5']  # Danh sách cho trước
print("Given list : \n", listA)
# Chuyển sang int
res = sorted(int(x) for x in listA)  # Kết quả
print("Sorted list of integers: \n", res)

Kết quả

Chạy đoạn mã trên cho kết quả sau:

Given list : ['54', '21', '-10', '92', '5'] Sorted list of integers: [-10, 5, 21, 54, 92]