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_listtrước. - Sau đó append
elementhiệ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.