Chuyển đổi danh sách các chuỗi có chứa dấu phân cách (delimiter) thành danh sách các tuple số nguyên. Sử dụng list comprehension và phương thức split().
Mã nguồn
my_list = ["33-22", "13-44-81-39", "42-10-42", "36-56-90", "34-77-91"]
print("Danh sách gốc:", my_list)
my_list.sort()
print("Danh sách đã sắp xếp:", my_list)
K = "-"
print("Dấu phân cách K:", K)
# Chuyển đổi: tách chuỗi, chuyển thành int, tạo tuple
my_result = [tuple(int(element) for element in sub.split(K)) for sub in my_list]
print("Kết quả:", my_result)
Kết quả
Danh sách gốc: ['33-22', '13-44-81-39', '42-10-42', '36-56-90', '34-77-91'] Danh sách đã sắp xếp: ['13-44-81-39', '33-22', '34-77-91', '36-56-90', '42-10-42'] Dấu phân cách K: - Kết quả: [(13, 44, 81, 39), (33, 22), (34, 77, 91), (36, 56, 90), (42, 10, 42)]
Giải thích
- Danh sách chuỗi được sắp xếp theo thứ tự chữ cái.
- List comprehension lặp qua từng chuỗi
sub. sub.split(K)tách chuỗi theo dấu '-'.int(element)chuyển từng phần thành số nguyên.tuple(...)đóng gói thành tuple.
Kỹ thuật này hữu ích khi xử lý dữ liệu định dạng CSV hoặc log có cấu trúc.