Từ mảng 2d đến 3d python

Python cung cấp nhiều cách để tạo danh sách/mảng 2 chiều. Tuy nhiên, người ta phải biết sự khác biệt giữa những cách này vì chúng có thể tạo ra các phức tạp trong mã mà rất khó để tìm ra. Hãy bắt đầu bằng cách xem xét các cách phổ biến để tạo mảng 1d có kích thước N được khởi tạo bằng 0

Sử dụng mảng/danh sách 2D đúng cách

Phương pháp 1. Tạo danh sách 1-D

ví dụ 1. Tạo danh sách 1d bằng các phương thức Naive

Python3




[0, 0, 0, 0, 0]
6
[0, 0, 0, 0, 0]
0
[0, 0, 0, 0, 0]
1

[0, 0, 0, 0, 0]
2
[0, 0, 0, 0, 0]
0
[0, 0, 0, 0, 0]
4
[0, 0, 0, 0, 0]
5
[0, 0, 0, 0, 0]
6
[0, 0, 0, 0, 0]
7
[0, 0, 0, 0, 0]
6

[0, 0, 0, 0, 0]
9
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
0

Đầu ra

[0, 0, 0, 0, 0]

ví dụ 2. Tạo danh sách 1d bằng cách sử dụng Hiểu danh sách

Python3




[0, 0, 0, 0, 0]
6
[0, 0, 0, 0, 0]
0
[0, 0, 0, 0, 0]
1

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
4
[0, 0, 0, 0, 0]
0
[0, 0, 0, 0, 0]
4
[0, 0, 0, 0, 0]
5
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
8
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
9
[0, 0, 0, 0, 0]
90
[0, 0, 0, 0, 0]
91
[0, 0, 0, 0, 0]
92

[0, 0, 0, 0, 0]
9
[0, 0, 0, 0, 0]
94

Đầu ra

[0, 0, 0, 0, 0]

Giải trình

Ở đây chúng tôi đang nhân số hàng với danh sách trống và do đó toàn bộ danh sách được tạo với mọi phần tử bằng không

Phương pháp 2 Tạo danh sách 2-D

ví dụ 1. Phương pháp ngây thơ

Python3




[0, 0, 0, 0, 0]
95
[0, 0, 0, 0, 0]
0
[0, 0, 0, 0, 0]
97
[0, 0, 0, 0, 0]
1
[0, 0, 0, 0, 0]
99
[0, 0, 0, 0, 0]
1
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
1

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
4
[0, 0, 0, 0, 0]
0
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
4
[0, 0, 0, 0, 0]
5
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
8
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
9
[0, 0, 0, 0, 0]
90
[0, 0, 0, 0, 0]
91_______000
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
8
[0, 0, 0, 0, 0]
02
[0, 0, 0, 0, 0]
90
[0, 0, 0, 0, 0]
91
[0, 0, 0, 0, 0]
05

Chủ Đề