Tính chỉ số bắt đầu (offset) của mỗi sublist khi gộp phẳng (flatten) danh sách lồng nhau.
Ví dụ
Minh họa:
my_list = [[51], [91, 22, 36, 44], [25, 25], [46, 67, 78, 82, 69, 29], [7, 5]]
print("Danh sách lồng:")
print(my_list)
my_result = []
my_len = 0
for sub in my_list:
my_result.append(my_len)
my_len += len(sub)
print("Chỉ số bắt đầu:")
print(my_result)
Kết quả
Danh sách lồng: [[51], [91, 22, 36, 44], [25, 25], [46, 67, 78, 82, 69, 29], [7, 5]] Chỉ số bắt đầu: [0, 1, 5, 7, 13]
Giải thích
- Khởi tạo
my_len = 0. - Duyệt sublist, append
my_lenhiện tại, sau đó cộng thêm độ dài sublist. - Kết quả là prefix sums của độ dài.