Ghép nối các tuple liên tiếp trong danh sách thành các tuple mới. Sử dụng vòng lặp đơn giản.
Mã nguồn
my_list = [(13, 526, 73), (23, 67, 0, 72, 24, 13), (94, 42), (11, 62, 23, 12), (93,), (83, 61)]
print("Danh sách gốc:", my_list)
my_list.sort(reverse=True)
print("Danh sách sau sắp xếp giảm dần:", my_list)
my_result = []
for index in range(len(my_list) - 1):
my_result.append(my_list[index] + my_list[index + 1])
print("Kết quả:", my_result)
Kết quả
Danh sách gốc: [(13, 526, 73), (23, 67, 0, 72, 24, 13), (94, 42), (11, 62, 23, 12), (93,), (83, 61)] Danh sách sau sắp xếp giảm dần: [(94, 42), (93,), (83, 61), (23, 67, 0, 72, 24, 13), (13, 526, 73), (11, 62, 23, 12)] Kết quả: [(94, 42, 93), (93, 83, 61), (83, 61, 23, 67, 0, 72, 24, 13), (23, 67, 0, 72, 24, 13, 13, 526, 73), (13, 526, 73, 11, 62, 23, 12)]
Giải thích
- Danh sách tuple được sắp xếp giảm dần (theo thứ tự lexicographic của tuple).
- Vòng lặp chạy từ 0 đến
len-2. my_list[index] + my_list[index + 1]ghép nối hai tuple liên tiếp (concatenation).- Kết quả là danh sách các tuple mới, mỗi tuple là sự kết hợp của hai tuple liền kề.
Kỹ thuật này dùng để tạo cặp (bigram) hoặc n-gram từ chuỗi tuple.