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

Python - Tìm chỉ số bắt đầu của tất cả danh sách lồng nhau

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_len hiện tại, sau đó cộng thêm độ dài sublist.
  • Kết quả là prefix sums của độ dài.