Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Đã hỏi 11 năm, 4 tháng trước 11 years, 4 months ago

Đã xem 2,8 triệu lần 2.8m times

Tôi muốn xác định một mảng hai chiều mà không có độ dài khởi tạo như thế này:

Matrix = [][]

Nhưng điều này gây ra lỗi:

IndexError: Danh sách chỉ mục ra khỏi phạm vi

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Mateen Ulhaq

22.5K16 Huy hiệu vàng86 Huy hiệu bạc127 Huy hiệu đồng16 gold badges86 silver badges127 bronze badges

hỏi ngày 12 tháng 7 năm 2011 lúc 15:54Jul 12, 2011 at 15:54

Masoud Abasianmasoud AbasianMasoud Abasian

10,2K6 Huy hiệu vàng22 Huy hiệu bạc22 Huy hiệu đồng6 gold badges22 silver badges22 bronze badges

3

Về mặt kỹ thuật, bạn đang cố gắng lập chỉ mục một mảng không chính thức. Trước tiên bạn phải khởi tạo danh sách bên ngoài với danh sách trước khi thêm các mục; Python gọi đây là "sự hiểu biết danh sách".

# Creates a list containing 5 lists, each of 8 items, all set to 0
w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)] 

#Bây giờ bạn có thể thêm các mục vào danh sách:

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range... 
Matrix[0][6] = 3 # valid

Lưu ý rằng ma trận là "Y" địa chỉ chính, nói cách khác, "chỉ mục y" xuất hiện trước "chỉ mục X".

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3; be careful with indexing! 

Mặc dù bạn có thể đặt tên cho chúng như bạn muốn, tôi nhìn nó theo cách này để tránh sự nhầm lẫn có thể phát sinh với việc lập chỉ mục, nếu bạn sử dụng "X" cho cả danh sách bên trong và bên ngoài và muốn một ma trận không vuông.

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Saeed

2.9505 huy hiệu vàng31 Huy hiệu bạc48 Huy hiệu đồng5 gold badges31 silver badges48 bronze badges

Đã trả lời ngày 12 tháng 7 năm 2011 lúc 15:59Jul 12, 2011 at 15:59

14

Nếu bạn thực sự muốn một ma trận, bạn có thể tốt hơn khi sử dụng

numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones
5. Các hoạt động ma trận trong
numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones
5 thường sử dụng một loại mảng có hai chiều. Có nhiều cách để tạo ra một mảng mới; Một trong những hữu ích nhất là hàm
numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones
7, có tham số hình dạng và trả về một mảng có hình dạng đã cho, với các giá trị được khởi tạo thành 0:

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 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.]])

Dưới đây là một số cách khác để tạo mảng 2 chiều và ma trận (với đầu ra bị loại bỏ để nén):

numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones

numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones
5 cũng cung cấp loại
numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones
9, nhưng nó không còn được khuyến nghị cho bất kỳ mục đích sử dụng nào và có thể bị xóa khỏi
numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones
5 trong tương lai.

Đã trả lời ngày 12 tháng 7 năm 2011 lúc 16:04Jul 12, 2011 at 16:04

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

người gửisenderle

Huy hiệu vàng 140K3535 gold badges206 silver badges231 bronze badges

6

Dưới đây là một ký hiệu ngắn hơn để khởi tạo danh sách các danh sách:

matrix = [[0]*5 for i in range(5)]

Thật không may, việc rút ngắn điều này thành một cái gì đó như

matrix = [[0]*5 for i in range(5)]
1 không thực sự hoạt động vì bạn kết thúc với 5 bản sao của cùng một danh sách, vì vậy khi bạn sửa đổi một trong số chúng, tất cả đều thay đổi, ví dụ::

>>> matrix = 5*[5*[0]]
>>> matrix
[[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]]
>>> matrix[4][4] = 2
>>> matrix
[[0, 0, 0, 0, 2], [0, 0, 0, 0, 2], [0, 0, 0, 0, 2], [0, 0, 0, 0, 2], [0, 0, 0, 0, 2]]

Đã trả lời ngày 12 tháng 7 năm 2011 lúc 16:17Jul 12, 2011 at 16:17

Andrew Clarkandrew ClarkAndrew Clark

196K33 Huy hiệu vàng265 Huy hiệu bạc297 Huy hiệu Đồng33 gold badges265 silver badges297 bronze badges

11

Nếu bạn muốn tạo một ma trận trống, cú pháp chính xác là

matrix = [[]]

Và nếu bạn muốn tạo một ma trận có kích thước 5 chứa đầy 0,

matrix = [[0 for i in xrange(5)] for i in xrange(5)]

Đã trả lời ngày 12 tháng 7 năm 2011 lúc 16:00Jul 12, 2011 at 16:00

MRIPARDMRIPARDmripard

2.1982 Huy hiệu vàng13 Huy hiệu bạc11 Huy hiệu đồng2 gold badges13 silver badges11 bronze badges

3

Nếu tất cả những gì bạn muốn là một thùng chứa hai chiều để chứa một số yếu tố, bạn có thể sử dụng một cách thuận tiện thay thế: thay vào đó:

# Creates a list containing 5 lists, each of 8 items, all set to 0
w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)] 
0

Sau đó, bạn có thể làm:

# Creates a list containing 5 lists, each of 8 items, all set to 0
w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)] 
1

Điều này hoạt động vì

matrix = [[0]*5 for i in range(5)]
2 là một tuple và bạn đang sử dụng nó làm chìa khóa để lập chỉ mục từ điển. Kết quả tương tự như một ma trận thưa thớt.

Như được chỉ ra bởi OSA và JOSAP Valls, bạn cũng có thể sử dụng

matrix = [[0]*5 for i in range(5)]
3 để các phần tử bị thiếu có giá trị mặc định là
matrix = [[0]*5 for i in range(5)]
4.

Vatsal thêm điểm rằng phương pháp này có lẽ không hiệu quả lắm đối với các ma trận lớn và chỉ nên được sử dụng trong các phần không quan trọng của mã.

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Đã trả lời ngày 29 tháng 5 năm 2014 lúc 7:23May 29, 2014 at 7:23

Enobayramenobayramenobayram

4.58822 huy hiệu bạc35 huy hiệu đồng22 silver badges35 bronze badges

8

Trong Python, bạn sẽ tạo một danh sách các danh sách. Bạn không phải tuyên bố kích thước trước thời hạn, nhưng bạn có thể. Ví dụ:

# Creates a list containing 5 lists, each of 8 items, all set to 0
w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)] 
2

Bây giờ ma trận [0] [0] == 2 và ma trận [1] [0] == 3. Bạn cũng có thể sử dụng cú pháp hiểu biết danh sách. Ví dụ này sử dụng nó hai lần để xây dựng "danh sách hai chiều":

# Creates a list containing 5 lists, each of 8 items, all set to 0
w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)] 
3

Đã trả lời ngày 12 tháng 7 năm 2011 lúc 16:04Jul 12, 2011 at 16:04

người gửiwberry

Huy hiệu vàng 140K358 gold badges51 silver badges82 bronze badges

1

Dưới đây là một ký hiệu ngắn hơn để khởi tạo danh sách các danh sách:

# Creates a list containing 5 lists, each of 8 items, all set to 0
w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)] 
4

Thật không may, việc rút ngắn điều này thành một cái gì đó như

matrix = [[0]*5 for i in range(5)]
1 không thực sự hoạt động vì bạn kết thúc với 5 bản sao của cùng một danh sách, vì vậy khi bạn sửa đổi một trong số chúng, tất cả đều thay đổi, ví dụ::

Đã trả lời ngày 12 tháng 7 năm 2011 lúc 16:17

miken32

Andrew Clarkandrew Clark16 gold badges100 silver badges141 bronze badges

196K33 Huy hiệu vàng265 Huy hiệu bạc297 Huy hiệu ĐồngJul 6, 2018 at 21:06

Nếu bạn muốn tạo một ma trận trống, cú pháp chính xác làunknownerror

Và nếu bạn muốn tạo một ma trận có kích thước 5 chứa đầy 0,2 gold badges23 silver badges24 bronze badges

0

Đã trả lời ngày 12 tháng 7 năm 2011 lúc 16:00

# Creates a list containing 5 lists, each of 8 items, all set to 0
w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)] 
5

MRIPARDMRIPARD

# Creates a list containing 5 lists, each of 8 items, all set to 0
w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)] 
6

2.1982 Huy hiệu vàng13 Huy hiệu bạc11 Huy hiệu đồngDec 4, 2015 at 14:13

Nếu tất cả những gì bạn muốn là một thùng chứa hai chiều để chứa một số yếu tố, bạn có thể sử dụng một cách thuận tiện thay thế: thay vào đó:Fabian

Sau đó, bạn có thể làm:4 gold badges33 silver badges45 bronze badges

0

Điều này hoạt động vì

matrix = [[0]*5 for i in range(5)]
2 là một tuple và bạn đang sử dụng nó làm chìa khóa để lập chỉ mục từ điển. Kết quả tương tự như một ma trận thưa thớt.

# Creates a list containing 5 lists, each of 8 items, all set to 0
w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)] 
7

Như được chỉ ra bởi OSA và JOSAP Valls, bạn cũng có thể sử dụng

matrix = [[0]*5 for i in range(5)]
3 để các phần tử bị thiếu có giá trị mặc định là
matrix = [[0]*5 for i in range(5)]
4.

# Creates a list containing 5 lists, each of 8 items, all set to 0
w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)] 
8

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Đã trả lời ngày 12 tháng 7 năm 2011 lúc 16:00Jul 12, 2011 at 16:00

Utdemirutdemirutdemir

25.9k10 Huy hiệu vàng61 Huy hiệu bạc81 Huy hiệu đồng10 gold badges61 silver badges81 bronze badges

1

Use:

matrix = [[0]*5 for i in range(5)]

*5 cho kích thước đầu tiên hoạt động bởi vì ở cấp độ này, dữ liệu là bất biến.

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Đã trả lời ngày 5 tháng 8 năm 2015 lúc 1:10Aug 5, 2015 at 1:10

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

innov8innov8innov8

1.9352 huy hiệu vàng20 Huy hiệu bạc29 Huy hiệu đồng2 gold badges20 silver badges29 bronze badges

1

Đây là cách tôi thường tạo ra các mảng 2D trong Python.

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range... 
Matrix[0][6] = 3 # valid
0

Tôi thấy cú pháp này dễ nhớ so với việc sử dụng hai cho các vòng lặp trong danh sách hiểu.

Đã trả lời ngày 3 tháng 6 năm 2018 lúc 15:32Jun 3, 2018 at 15:32

MichaelmichaelMichael

69510 Huy hiệu bạc25 Huy hiệu Đồng10 silver badges25 bronze badges

Viết lại để đọc dễ dàng:

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range... 
Matrix[0][6] = 3 # valid
1

Đã trả lời ngày 2 tháng 7 năm 2016 lúc 11:33Jul 2, 2016 at 11:33

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

0

Để khai báo một ma trận số không (một):

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range... 
Matrix[0][6] = 3 # valid
2

e.g.

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range... 
Matrix[0][6] = 3 # valid
3

hoặc numpy.ones ((x, y)) ví dụ:

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range... 
Matrix[0][6] = 3 # valid
4

Ngay cả ba chiều là có thể. (http://www.astro.ufl.edu/~warner/prog/python.html Xem-> Mảng đa chiều)

Đã trả lời ngày 7 tháng 12 năm 2013 lúc 20:45Dec 7, 2013 at 20:45

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Khazkhazkhaz

3023 Huy hiệu bạc11 Huy hiệu đồng3 silver badges11 bronze badges

Tôi đang ở trong tập lệnh Python đầu tiên của mình và tôi đã hơi bối rối bởi ví dụ ma trận vuông vì vậy tôi hy vọng ví dụ dưới đây sẽ giúp bạn tiết kiệm thời gian:

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range... 
Matrix[0][6] = 3 # valid
5

để có thể

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range... 
Matrix[0][6] = 3 # valid
6

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Đã trả lời ngày 28 tháng 3 năm 2014 lúc 10:14Mar 28, 2014 at 10:14

user110954user110954user110954

7318 Huy hiệu bạc8 Huy hiệu đồng8 silver badges8 bronze badges

Bạn có thể tạo một danh sách hai chiều trống bằng cách làm tổ hai hoặc nhiều khung hình vuông hoặc khung thứ ba (

matrix = [[0]*5 for i in range(5)]
7, được phân tách bằng dấu phẩy) với một giằng vuông, giống như bên dưới:

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range... 
Matrix[0][6] = 3 # valid
7

Bây giờ giả sử bạn muốn nối 1 đến

matrix = [[0]*5 for i in range(5)]
8 sau đó bạn nhập:

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range... 
Matrix[0][6] = 3 # valid
8

Bây giờ, nhập ma trận và nhấn enter. Đầu ra sẽ là:

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! range... 
Matrix[0][6] = 3 # valid
9

Nếu bạn đã nhập câu lệnh sau

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3; be careful with indexing! 
0

Sau đó, ma trận sẽ là

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3; be careful with indexing! 
1

Đã trả lời ngày 3 tháng 8 năm 2019 lúc 9:42Aug 3, 2019 at 9:42

Meraj Al Maksudmeraj Al MaksudMeraj al Maksud

1.4522 Huy hiệu vàng22 Huy hiệu bạc35 Huy hiệu Đồng2 gold badges22 silver badges35 bronze badges

Sử dụng Numpy, bạn có thể khởi tạo ma trận trống như thế này:

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3; be careful with indexing! 
2

Và sau này nối thêm dữ liệu như thế này:

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3; be careful with indexing! 
3

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Đã trả lời ngày 15 tháng 9 năm 2017 lúc 10:54Sep 15, 2017 at 10:54

1

Tôi đã đọc trong các tệp phân tách bằng dấu phẩy như thế này:

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3; be careful with indexing! 
4

Danh sách "dữ liệu" sau đó là danh sách các danh sách với dữ liệu chỉ mục [hàng] [col]

Đã trả lời ngày 4 tháng 9 năm 2013 lúc 19:40Sep 4, 2013 at 19:40

Wsanderswsanderswsanders

1984 Huy hiệu bạc8 Huy hiệu đồng4 silver badges8 bronze badges

0

Đó là những gì từ điển được tạo ra cho!dictionary is made for!

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3; be careful with indexing! 
5

Bạn có thể xác định các khóa và giá trị theo hai cách:keys and values in two ways:

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3; be careful with indexing! 
6

hoặc

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3; be careful with indexing! 
7

Result:

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3; be careful with indexing! 
8

Đã trả lời ngày 16 tháng 1 năm 2017 lúc 6:38Jan 16, 2017 at 6:38

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Use:

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3; be careful with indexing! 
9

Tôi nghĩ rằng Numpy là con đường để đi. Trên đây là một cái chung nếu bạn không muốn sử dụng Numpy.

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Đã trả lời ngày 1 tháng 11 năm 2015 lúc 7:48Nov 1, 2015 at 7:48

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Pterodragonpterodragonpterodragon

4199 Huy hiệu bạc16 Huy hiệu Đồng9 silver badges16 bronze badges

1

Nếu bạn muốn có thể nghĩ nó như một mảng 2D thay vì bị buộc phải suy nghĩ về danh sách danh sách (theo ý kiến ​​của tôi, bạn có thể làm như sau:

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 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

Kết quả là một danh sách (không phải là một mảng numpy) và bạn có thể ghi đè lên các vị trí riêng lẻ bằng số, chuỗi, bất cứ điều gì.

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Đã trả lời ngày 14 tháng 7 năm 2016 lúc 8:55Jul 14, 2016 at 8:55

Alessadnroalessadnroalessadnro

711 huy hiệu bạc2 huy hiệu đồng1 silver badge2 bronze badges

1

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 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

Sẽ nhanh hơn:

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 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.]])
2

Đã trả lời ngày 18 tháng 11 năm 2018 lúc 14:02Nov 18, 2018 at 14:02

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Sharmaharsh Harsh SharmaHarsh Sharma

10,5K2 Huy hiệu vàng16 Huy hiệu bạc27 Huy hiệu đồng2 gold badges16 silver badges27 bronze badges

1

bằng cách sử dụng danh sách:

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 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.]])
3

Bằng cách sử dụng Dict: Bạn cũng có thể lưu trữ thông tin này trong bảng băm để tìm kiếm nhanh như

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 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

Ma trận ['1'] sẽ cho bạn kết quả trong thời gian O (1)

*NB: Bạn cần phải đối phó với một vụ va chạm trong bảng băm: you need to deal with a collision in the hash table

Đã trả lời ngày 5 tháng 2 năm 2018 lúc 4:27Feb 5, 2018 at 4:27

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Nếu bạn không có thông tin kích thước trước khi bắt đầu thì hãy tạo hai danh sách một chiều.

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 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.]])
5

Lưu trữ toàn bộ hàng trong danh sách đầu tiên. Sau khi hoàn tất, hãy nối Danh sách 1 vào Danh sách 2:

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 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.]])
6

Output:

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 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.]])
7

Đã trả lời ngày 5 tháng 8 năm 2017 lúc 11:55Aug 5, 2017 at 11:55

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Nagendra Nigadenagendra NigadeNagendra Nigade

8262 Huy hiệu vàng11 Huy hiệu bạc27 Huy hiệu đồng2 gold badges11 silver badges27 bronze badges

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 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

Hãy cẩn thận về biểu thức ngắn này, hãy xem lời giải thích đầy đủ trong câu trả lời của @F.J

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Gongzhitaao

6.2893 huy hiệu vàng35 Huy hiệu bạc44 Huy hiệu đồng3 gold badges35 silver badges44 bronze badges

Đã trả lời ngày 8 tháng 2 năm 2014 lúc 10:24Feb 8, 2014 at 10:24

和 風信 和 和 風信和風信使

1351 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges

6

Dưới đây là đoạn mã để tạo ma trận trong Python:

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 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

Xin đề nghị nếu tôi đã bỏ lỡ điều gì đó.

Đã trả lời ngày 9 tháng 12 năm 2019 lúc 12:54Dec 9, 2019 at 12:54

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Chandra Shekharchandra ShekharChandra Shekhar

5761 Huy hiệu vàng7 Huy hiệu bạc23 Huy hiệu đồng1 gold badge7 silver badges23 bronze badges

Thông thường, mô-đun đi đến Numpy:

numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones
0

Đã trả lời ngày 7 tháng 12 năm 2021 lúc 20:35Dec 7, 2021 at 20:35

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

DejanualExdejanualexdejanualex

3.3896 Huy hiệu vàng24 Huy hiệu bạc33 Huy hiệu Đồng6 gold badges24 silver badges33 bronze badges

Thử cái này:

numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones
1

Đã trả lời ngày 28 tháng 12 năm 2018 lúc 8:45Dec 28, 2018 at 8:45

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Ankit Sharmaankit SharmaAnkit Sharma

1.6561 Huy hiệu vàng13 Huy hiệu bạc18 Huy hiệu đồng1 gold badge13 silver badges18 bronze badges

Trong trường hợp nếu bạn cần một ma trận với các số được xác định trước, bạn có thể sử dụng mã sau:

numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones
2

Đã trả lời ngày 21 tháng 1 năm 2019 lúc 17:15Jan 21, 2019 at 17:15

Hướng dẫn how do you create a two dimensional array in python? - làm thế nào để bạn tạo một mảng hai chiều trong python?

Vlad Bezdenvlad BezdenVlad Bezden

77.1K23 Huy hiệu vàng243 Huy hiệu bạc176 Huy hiệu đồng23 gold badges243 silver badges176 bronze badges

Người dùng xác định chức năng để đầu vào ma trận và in

numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones
3

marc_s

716K172 Huy hiệu vàng1315 Huy hiệu bạc1434 Huy hiệu đồng172 gold badges1315 silver badges1434 bronze badges

Đã trả lời ngày 24 tháng 5 năm 2021 lúc 11:35May 24, 2021 at 11:35

Nếu bạn muốn tạo một ma trận 2D có kích thước được xác định bởi hai biến và khởi tạo nó với giá trị mặc định cho tất cả các phần tử của nó. Bạn có thể sử dụng cú pháp đơn giản này

numpy.arange(25).reshape((5, 5))         # create a 1-d range and reshape
numpy.array(range(25)).reshape((5, 5))   # pass a Python range and reshape
numpy.array([5] * 25).reshape((5, 5))    # pass a Python list and reshape
numpy.empty((5, 5))                      # allocate, but don't initialize
numpy.ones((5, 5))                       # initialize with ones
4

Đã trả lời ngày 18 tháng 6 lúc 11:26Jun 18 at 11:26

AriomarioMario

Phù hiệu bằng đồng 2733 bronze badges

Làm thế nào tôi có thể làm hai

Trong Python, chúng ta có thể truy cập các phần tử mảng hai chiều bằng hai chỉ số. Chỉ mục đầu tiên đề cập đến việc lập chỉ mục của danh sách và mục thứ hai đề cập đến vị trí của các yếu tố. Nếu chúng tôi chỉ xác định một chỉ mục có tên mảng, nó sẽ trả về tất cả các phần tử của 2 chiều được lưu trữ trong mảng.using two indices. The first index refers to the list's indexing and the second one refers to the elements' position. If we define only one index with an array name, it returns all the elements of 2-dimensional stored in the array.

Làm thế nào để bạn tạo một mảng hai

Để tạo một mảng, hãy sử dụng từ khóa mới, theo sau là một không gian, sau đó là loại, và sau đó là số lượng hàng trong ngoặc vuông theo sau là số lượng cột trong ngoặc vuông, giống như int [numrows] mới này [numcols]. Số lượng các phần tử trong mảng 2D là số lượng hàng nhân số lượng cột.use the new keyword, followed by a space, then the type, and then the number of rows in square brackets followed by the number of columns in square brackets, like this new int[numRows][numCols] . The number of elements in a 2D array is the number of rows times the number of columns.

Làm thế nào để bạn tạo ra 2

Tạo một mảng hai chiều Nếu bạn chỉ sử dụng hàm Arange, nó sẽ xuất ra một mảng một chiều.Để biến nó thành một mảng hai chiều, chuỗi đầu ra của nó với chức năng định hình lại.Đầu tiên, 20 số nguyên sẽ được tạo và sau đó nó sẽ chuyển đổi mảng thành một mảng hai chiều với 4 hàng và 5 cột.chain its output with the reshape function. First, 20 integers will be created and then it will convert the array into a two-dimensional array with 4 rows and 5 columns.

2 là gì

Mảng 2D cũng được gọi là ma trận có thể được biểu diễn dưới dạng thu thập các hàng và cột.Trong bài viết này, chúng tôi đã khám phá mảng 2D trong Numpy ở Python.Numpy là một thư viện trong Python bổ sung hỗ trợ cho các mảng và ma trận đa chiều lớn cùng với các chức năng toán học cấp cao để vận hành các mảng này.Matrices which can be represented as collection of rows and columns. In this article, we have explored 2D array in Numpy in Python. Numpy is a library in Python adding support for large multidimensional arrays and matrices along with high level mathematical functions to operate these arrays.