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

Python – Chuyển list thành ma trận với kích thước hàng tăng dần

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.