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

Python – Chuyển ma trận 3D thành danh sách tọa độ

Chuyển đổi ma trận 3 chiều (danh sách lồng nhau 3 cấp) thành danh sách các cặp tọa độ. Sử dụng zip() và list comprehension.

Mã nguồn

my_list_1 = [[['He', 'Wi'], ['llo', 'll']], [['Pyt', 'i'], ['hon', 'sFun']], [['Ho', 'g'], ['pe', 'ood']]]

print("Ma trận 3D gốc:", my_list_1)

my_list_1.sort()
print("Sau sắp xếp:", my_list_1)

# List comprehension với zip
my_result = [ele for sub_elem_1, sub_elem_2 in my_list_1 for ele in zip(sub_elem_1, sub_elem_2)]

print("Danh sách tọa độ kết quả:", my_result)

Kết quả

Ma trận 3D gốc: [[['He', 'Wi'], ['llo', 'll']], [['Pyt', 'i'], ['hon', 'sFun']], [['Ho', 'g'], ['pe', 'ood']]]
Sau sắp xếp: [[['He', 'Wi'], ['llo', 'll']], [['Ho', 'g'], ['pe', 'ood']], [['Pyt', 'i'], ['hon', 'sFun']]]
Danh sách tọa độ kết quả: [('He', 'llo'), ('Wi', 'll'), ('Ho', 'pe'), ('g', 'ood'), ('Pyt', 'hon'), ('i', 'sFun')]

Giải thích

  • Mỗi phần tử cấp 1 chứa 2 danh sách con (hàng).
  • zip(sub_elem_1, sub_elem_2) ghép cặp phần tử cùng vị trí từ hai hàng.
  • List comprehension lồng: outer lặp qua các ma trận 2D, inner lặp qua kết quả zip.
  • Kết quả: list các tuple (cặp tọa độ).

Ứng dụng: xử lý hình ảnh, dữ liệu không gian, hoặc ghép nối chuỗi song song.