Đã hỏi 11 năm, 4 tháng trước 11 years, 4 months ago Show Đã 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:
Nhưng điều này gây ra lỗi:
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".
#Bây giờ bạn có thể thêm các mục vào danh sách:
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".
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.
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 5. Các hoạt động ma trận trong 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 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:
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):
5 cũng cung cấp loại 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 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
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:
Thật không may, việc rút ngắn điều này thành một cái gì đó như 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: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à
Và nếu bạn muốn tạo một ma trận có kích thước 5 chứa đầy 0,
Đã 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 đó: 0Sau đó, bạn có thể làm: 1Điều này hoạt động vì 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 3 để các phần tử bị thiếu có giá trị mặc định là 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ã.
Đã 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ụ: 2Bâ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": 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: 4Thật không may, việc rút ngắn điều này thành một cái gì đó như 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 5MRIPARDMRIPARD 62.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ì 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. 7Như được chỉ ra bởi OSA và JOSAP Valls, bạn cũng có thể sử dụng 3 để các phần tử bị thiếu có giá trị mặc định là 4. 8
Đã 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:
*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.
Đã trả lời ngày 5 tháng 8 năm 2015 lúc 1:10Aug 5, 2015 at 1:10
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. 0Tô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: 1Đã trả lời ngày 2 tháng 7 năm 2016 lúc 11:33Jul 2, 2016 at 11:33
0 Để khai báo một ma trận số không (một): 2e.g. 3hoặc numpy.ones ((x, y)) ví dụ: 4Ngay 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
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: 5để có thể 6
Đã 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 ( 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: 7Bây giờ giả sử bạn muốn nối 1 đến 8 sau đó bạn nhập: 8Bây giờ, nhập ma trận và nhấn enter. Đầu ra sẽ là: 9Nếu bạn đã nhập câu lệnh sau 0Sau đó, ma trận sẽ là 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: 2Và sau này nối thêm dữ liệu như thế này: 3
Đã 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: 4Danh 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! 5Bạn có thể xác định các khóa và giá trị theo hai cách:keys and values in two ways: 6hoặc 7Result: 8
Đã trả lời ngày 16 tháng 1 năm 2017 lúc 6:38Jan 16, 2017 at 6:38
Use: 9Tô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.
Đã trả lời ngày 1 tháng 11 năm 2015 lúc 7:48Nov 1, 2015 at 7:48
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: 0Kế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ì.
Đã 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 1Sẽ nhanh hơn: 2Đã trả lời ngày 18 tháng 11 năm 2018 lúc 14:02Nov 18, 2018 at 14:02
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: 3Bằ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ư 4Ma 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
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. 5Lư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: 6Output: 7
Đã trả lời ngày 5 tháng 8 năm 2017 lúc 11:55Aug 5, 2017 at 11:55
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 8Hã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
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: 9Xin đề 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
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: 0Đã trả lời ngày 7 tháng 12 năm 2021 lúc 20:35Dec 7, 2021 at 20:35
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: 1Đã trả lời ngày 28 tháng 12 năm 2018 lúc 8:45Dec 28, 2018 at 8:45
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: 2Đã trả lời ngày 21 tháng 1 năm 2019 lúc 17:15Jan 21, 2019 at 17:15
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 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 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 haiTrong 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 2Tạ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. |