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

Python – Chèn danh sách vào mỗi N phần tử (Append every Nth index)

Chèn một danh sách con vào danh sách chính sau mỗi N phần tử. Sử dụng enumerate() và vòng lặp lồng.

Mã nguồn

my_list = [13, 27, 48, 12, 21, 45, 28, 19, 63]
print("Danh sách gốc:", my_list)

append_list = ['P', 'Y', 'T']
N = 3
print("N =", N)

my_result = []
for index, element in enumerate(my_list):
    if index % N == 0:
        for element_in in append_list:
            my_result.append(element_in)
    my_result.append(element)

print("Kết quả:", my_result)

Kết quả

Danh sách gốc: [13, 27, 48, 12, 21, 45, 28, 19, 63]
N = 3
Kết quả: ['P', 'Y', 'T', 13, 27, 48, 'P', 'Y', 'T', 12, 21, 45, 'P', 'Y', 'T', 28, 19, 63]

Giải thích

  • enumerate(my_list) cho (index, element).
  • Khi index % N == 0 (index 0, 3, 6,...) → chèn toàn bộ append_list trước.
  • Sau đó append element hiện tại.
  • Index 0: chèn P,Y,T → 13.
  • Index 3 (phần tử 12): chèn P,Y,T → 12.
  • Index 6 (phần tử 28): chèn P,Y,T → 28.

Cách khác: Slicing và extend


result = []
for i in range(0, len(my_list), N):
    result.extend(append_list)
    result.extend(my_list[i:i+N])

Dễ hiểu hơn: xử lý theo khối (chunk) kích thước N.