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

Python – Chuyển danh sách chuỗi có dấu phân cách thành danh sách tuple

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.