Python danh sách 2d là gì?
Thật không may, việc rút ngắn điều này thành một cái gì đó như Array_name = [rows][columns] # declaration of 2D array Arr-name = [ [m1, m2, m3, … . mn], [n1, n2, n3, … . nn] ]0 không thực sự hiệu quả 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ả chúng đều thay đổi, chẳng hạn Show
Mảng là tập hợp các cấu trúc dữ liệu tuyến tính chứa tất cả các phần tử có cùng kiểu dữ liệu trong không gian bộ nhớ liền kề. Nó giống như một thùng chứa một số phần tử nhất định có cùng kiểu dữ liệu. Chỉ số của mảng bắt đầu từ 0, do đó, lập trình viên có thể dễ dàng xác định vị trí của từng phần tử và thực hiện các thao tác khác nhau trên mảng. Trong phần này, chúng ta sẽ tìm hiểu về mảng 2D (hai chiều) trong Python Mảng hai chiều (Mảng 2D)Mảng 2D là một mảng các mảng có thể được biểu diễn dưới dạng ma trận như hàng và cột. Trong mảng này, vị trí của các phần tử dữ liệu được xác định bằng hai chỉ mục thay vì một chỉ mục cú pháp Array_name = [rows][columns] # declaration of 2D array Arr-name = [ [m1, m2, m3, … . mn], [n1, n2, n3, … . nn] ] Trong đó m là hàng và n là cột của bảng Truy cập mảng hai chiềuTrong Python, chúng ta có thể truy cập các phần tử của 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à chỉ mục thứ hai đề cập đến vị trí của các phần tử. Nếu chúng ta chỉ định nghĩa một chỉ mục với một tên mảng, nó sẽ trả về tất cả các phần tử 2 chiều được lưu trữ trong mảng Hãy tạo một chương trình đơn giản để hiểu mảng 2D (hai chiều) trong Python 2dĐơn giản. py đầu ra Trong ví dụ trên, chúng tôi đã chuyển 1, 0 và 2 dưới dạng tham số vào mảng 2D để in toàn bộ hàng của chỉ mục đã xác định. Và chúng tôi cũng đã thông qua student_dt[3][4] đại diện cho chỉ số thứ 3 và vị trí thứ 4 của mảng 2 chiều các phần tử để in một phần tử cụ thể Duyệt qua phần tử ở dạng 2D (hai chiều)Chương trình. py đầu ra Chèn các phần tử vào Mảng 2D (Hai chiều)Chúng ta có thể chèn các phần tử vào mảng 2 D bằng cách sử dụng hàm insert() chỉ định số chỉ mục và vị trí của phần tử sẽ được chèn Chèn. py đầu ra Cập nhật các phần tử trong Mảng 2 -D (Hai chiều)Trong mảng 2D, giá trị hiện có của mảng có thể được cập nhật bằng một giá trị mới. Trong phương thức này, chúng ta có thể thay đổi giá trị cụ thể cũng như toàn bộ chỉ mục của mảng. Hãy hiểu với một ví dụ về mảng 2D, như hình bên dưới Tạo chương trình cập nhật giá trị hiện có của mảng 2D trong Python Cập nhật. py đầu ra Xóa các giá trị khỏi mảng 2D (hai chiều) trong PythonTrong mảng 2-D, chúng ta có thể xóa phần tử cụ thể hoặc toàn bộ chỉ mục của mảng bằng cách sử dụng hàm del() trong Python. Hãy hiểu một ví dụ để xóa một phần tử Xóa bỏ. py đầu ra Kích thước của một mảng 2DHàm len() được sử dụng để lấy độ dài của mảng hai chiều. Nói cách khác, chúng ta có thể nói rằng hàm len() xác định tổng chỉ số có sẵn trong mảng 2 chiều Hướng dẫn này dành cho Chế độ Python của Xử lý. Nếu bạn thấy bất kỳ lỗi nào hoặc có ý kiến, xin vui lòng cho chúng tôi biết. Hướng dẫn này được điều chỉnh từ cuốn sách, Learning Processing, của Daniel Shiffman, được xuất bản bởi Nhà xuất bản Morgan Kaufmann, Bản quyền © 2008 Elsevier Inc. Đã đăng ký Bản quyền Một danh sách theo dõi nhiều mẩu thông tin theo thứ tự tuyến tính hoặc một thứ nguyên. Tuy nhiên, dữ liệu được liên kết với một số hệ thống nhất định (hình ảnh kỹ thuật số, trò chơi trên bàn cờ, v.v. ) sống trong hai chiều. Để trực quan hóa dữ liệu này, chúng ta cần một cấu trúc dữ liệu đa chiều, nghĩa là một danh sách đa chiều Danh sách hai chiều thực sự không gì khác hơn là danh sách các danh sách (danh sách ba chiều là danh sách các danh sách). Hãy nghĩ về bữa tối của bạn. Bạn có thể có một danh sách một chiều về mọi thứ bạn ăn Hoặc bạn có thể có một danh sách hai chiều gồm ba món, mỗi món chứa ba thứ bạn ăn (xà lách, cà chua, nước xốt salad) và (bít tết, khoai tây nghiền, đậu que) và (bánh ngọt, kem, cà phê) Trong trường hợp danh sách, danh sách một chiều kiểu cũ của chúng ta trông như thế này myList = [0,1,2,3] Và một danh sách hai chiều trông như thế này myList = [ [0,1,2,3], [3,2,1,0], [3,5,6,1], [3,8,3,4] ] Đối với mục đích của chúng tôi, tốt hơn là coi danh sách hai chiều như một ma trận. Một ma trận có thể được coi là một mạng lưới các số, được sắp xếp theo hàng và cột, giống như một bảng bingo. Chúng ta có thể viết danh sách hai chiều như sau để minh họa điểm này myList = [ [0, 1, 2, 3], [3, 2, 1, 0], [3, 5, 6, 1], [3, 8, 3, 4] ]
myList = [ [236, 189, 189, 0], [236, 80, 189, 189], [236, 0, 189, 80], [236, 189, 189, 80] ]
myList = [0,1,2,3,4,5,6,7,8,9]; for index in len(myList): myList[index] = 0 # Set element at "index" to 0.
myList= [ [0, 1, 2] [3, 4, 5] [6, 7, 8] ] # Two nested loops allow us to visit every spot in a 2D list. # For every column i, visit every row j. for i in len(myList): for j in len(myList[0]): myList[i][j] = 0
Một danh sách hai chiều cũng có thể được sử dụng để lưu trữ các đối tượng, điều này đặc biệt thuận tiện cho các bản phác thảo lập trình liên quan đến một số loại "lưới" hoặc "bảng". " Ví dụ sau hiển thị một lưới các đối tượng Ô được lưu trữ trong danh sách hai chiều. Mỗi ô là một hình chữ nhật có độ sáng dao động từ 0-255 với hàm sin Example: 2D Array of Objects # Number of columns and rows in the grid nCols = 10; nRows = 10; def setup(): global nCols, nRows, grid size(200,200) grid = makeGrid() for i in xrange(nCols): for j in xrange(nRows): # Initialize each object grid[i][j] = Cell(i*20,j*20,20,20,i+j) def draw(): global nCols, nRows, grid background(0) # The counter variables i and j are also the column and row numbers and # are used as arguments to the constructor for each object in the grid. for i in xrange(nCols): for j in xrange(nRows): # Oscillate and display each object grid[i][j].oscillate() grid[i][j].display() # Creates a 2D List of 0's, nCols x nRows large def makeGrid(): global nCols, nRows grid = [] for i in xrange(nCols): # Create an empty list for each row grid.append([]) for j in xrange(nRows): # Pad each column in each row with a 0 grid[i].append(0) return grid # A Cell object class Cell(): # A cell object knows about its location in the grid # it also knows of its size with the variables x,y,w,h. def __init__(self, tempX, tempY, tempW, tempH, tempAngle): self.x = tempX self.y = tempY self.w = tempW self.h = tempH self.angle = tempAngle # Oscillation means increase angle def oscillate(self): self.angle += 0.02; def display(self): stroke(255) # Color calculated using sine wave fill(127+127*sin(self.angle)) rect(self.x,self.y,self.w,self.h) Hướng dẫn này dành cho Chế độ Python trong Xử lý 2+. Nếu bạn thấy bất kỳ lỗi nào hoặc có ý kiến, xin vui lòng cho chúng tôi biết. Hướng dẫn này được điều chỉnh từ cuốn sách, Learning Processing của Daniel Schiffman, của Daniel Shiffman, được xuất bản bởi Nhà xuất bản Morgan Kaufmann, Bản quyền © 2008 Elsevier Inc. Đã đăng ký Bản quyền Chúng ta có thể có danh sách 2D trong Python không?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.
Mảng có phải là danh sách 2D không?Mảng là cấu trúc dữ liệu dùng để lưu trữ các phần tử. Một mảng chỉ có thể lưu trữ các loại phần tử tương tự. Một Hai chiều được định nghĩa là một Mảng bên trong Mảng .
Mảng 2D dùng để làm gì?Mảng hai chiều cũng có thể được sử dụng để lưu trữ các đối tượng , điều này đặc biệt thuận tiện cho các bản phác thảo lập trình liên quan đến một số loại "lưới". . " Ví dụ sau hiển thị một lưới các đối tượng Ô được lưu trữ trong một mảng hai chiều.
Cấu trúc dữ liệu 2D là gì?Mảng hai chiều là cấu trúc dữ liệu chứa tập hợp các ô được trình bày trong lưới hai chiều , tương tự như một . |