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]