Giới thiệu
Để chuyển một list phẳng thành ma trận (list of lists) nơi hàng thứ i có độ dài (i+1)*key, dùng phép chia nguyên // và slicing.
Ví dụ minh họa
my_list = [42, 45, 67, 89, 99, 10, 23, 12, 31, 43, 60, 1, 0]
print("Danh sách:", my_list)
my_key = 3
print("Key (kích thước bước):", my_key)
my_result = []
for index in range(0, len(my_list) // my_key):
my_result.append(my_list[0: (index + 1) * my_key])
print("Ma trận kết quả (hàng tăng dần):")
print(my_result)
Kết quả đầu ra
Danh sách: [42, 45, 67, 89, 99, 10, 23, 12, 31, 43, 60, 1, 0] Key (kích thước bước): 3 Ma trận kết quả (hàng tăng dần): [[42, 45, 67], [42, 45, 67, 89, 99, 10], [42, 45, 67, 89, 99, 10, 23, 12, 31], [42, 45, 67, 89, 99, 10, 23, 12, 31, 43, 60, 1]]
Giải thích
len(my_list) // my_key= 13 // 3 = 4 hàng.- Hàng i (0-based) lấy từ đầu đến (i+1)*key phần tử.
- Các hàng là prefix của list gốc với độ dài bội của key.