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

Python – Mở rộng (Extend) các tuple liên tiếp

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.