Danh sách 2d trong Python là gì?

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

Danh sách 2d trong Python là gì?

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ều

Trong 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

Danh sách 2d trong Python là gì?

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

Danh sách 2d trong Python là gì?

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

Danh sách 2d trong Python là gì?

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

Danh sách 2d trong Python là gì?

Xóa các giá trị khỏi mảng 2D (hai chiều) trong Python

Trong 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

Danh sách 2d trong Python là gì?

Kích thước của một mảng 2D

Hà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

Danh sách là một trong những kiểu dữ liệu hữu ích nhất trong python. Chúng tôi có thể thêm các giá trị của tất cả các loại như số nguyên, chuỗi, dấu phẩy trong một danh sách. Việc khởi tạo danh sách có thể được thực hiện bằng cách sử dụng dấu ngoặc vuông []. Dưới đây là ví dụ về danh sách 1d và danh sách 2d. Vì chúng tôi không thể sử dụng danh sách 1d trong mọi trường hợp sử dụng nên danh sách python 2d được sử dụng. Ngoài ra, còn được gọi là danh sách bên trong danh sách hoặc danh sách lồng nhau. Số phần tử trong danh sách 2d sẽ bằng không. của hàng * không. cột. Một danh sách 2d trông giống như thế này.  

list1_d=[’sonu', 'ashu’, 50, 10.1] 
list_2d=[ [5,6,7,7] , [5,4,6,7] , [9,8,9,10] ] 

Danh sách 2d trong Python là gì?

nội dung

Đại diện đồ họa

Về mặt đồ họa, một danh sách 2d có thể được biểu diễn dưới dạng lưới.  

Danh sách 2d trong Python là gì?

Cách khai báo/khởi tạo danh sách python 2d

Có nhiều cách để khởi tạo danh sách 2d trong python.    

  1. Đây là cách tiếp cận cơ bản để tạo danh sách 2d trong python

rows=[] 
columns=[] 
for i in range(3):
   for j in range(3):
      columns.append(1)
   rows.append(columns)

ĐẦU RA-

[[1, 1, 1], [1, 1, 1], [1, 1, 1]]

Danh sách 2d trong Python là gì?

  • Giả sử bạn muốn tạo danh sách 2d có tọa độ làm giá trị của nó.  

x = [[(i,j) for j in range(3)] for i in range(3)]  

[[(0, 0), (0, 1), (0, 2)], [(1, 0), (1, 1), (1, 2)], [(2, 0), (2, 1), (2, 2)]] 

Danh sách 2d trong Python là gì?

  • Nếu chúng ta muốn tạo một danh sách 2d với giá trị là 0.  

x = [[0 for j in range(3)] for i in range(3)] 

Đầu ra-

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

Danh sách 2d trong Python là gì?

Cách truy xuất giá trị từ danh sách 2d python

Danh sách 2d có thể được truy cập bởi hai thuộc tính là hàng và cột và để truy cập danh sách này, chúng tôi sử dụng đoạn mã sau-

________số 8_______

Danh sách 2d trong Python là gì?

đầu ra.  

1 1 1
1 1 1
1 1 1

Danh sách 2d trong Python là gì?

Chúng tôi cũng có thể sử dụng khái niệm cắt để truy xuất dữ liệu từ bất kỳ hàng và cột nào chúng tôi muốn.  

Giả sử rằng chúng tôi chỉ muốn truy xuất hàng 1 và 2 và tất cả các cột, vì mục đích này, chúng tôi có thể sử dụng cắt lát.  

list1 = [ [1,2,3], [4,5,6], [7,8,9], [10,11,12] ]
print(list1[1:3][:]) """ [1:3] is used for rows-1,2[:] is used to represent all values"""

Danh sách 2d trong Python là gì?

đầu ra.  

rows=[] 
columns=[] 
for i in range(3):
   for j in range(3):
      columns.append(1)
   rows.append(columns)
0

Bây giờ, giả sử chúng ta muốn lấy tất cả các hàng nhưng chỉ lấy cột 1.  

rows=[] 
columns=[] 
for i in range(3):
   for j in range(3):
      columns.append(1)
   rows.append(columns)
1

Đầu ra-

rows=[] 
columns=[] 
for i in range(3):
   for j in range(3):
      columns.append(1)
   rows.append(columns)
2

Danh sách 2d trong Python là gì?

Nhưng đây không phải là cột 1. Tại sao? . Với mục đích đó, chúng tôi có một mảng NumPy.  

Hạn chế của danh sách 2d

Như đã thấy trong ví dụ trước, chúng ta không thể thực hiện thao tác theo cột trong danh sách 2d. Với mục đích này, chúng ta phải sử dụng mảng NumPy 2d. Để chuyển đổi danh sách 2d thành mảng 2d, trước tiên chúng ta phải nhập thư viện NumPy bằng cách sử dụng pip install NumPy, sau đó thực hiện các thao tác sau.  

rows=[] 
columns=[] 
for i in range(3):
   for j in range(3):
      columns.append(1)
   rows.append(columns)
3

Đầu ra –

rows=[] 
columns=[] 
for i in range(3):
   for j in range(3):
      columns.append(1)
   rows.append(columns)
4

Danh sách 2d trong Python là gì?

Và bây giờ nếu chúng ta thử tìm cột đầu tiên của tất cả các hàng theo cách tương tự, chúng ta sẽ nhận được câu trả lời đúng với mảng 2d

rows=[] 
columns=[] 
for i in range(3):
   for j in range(3):
      columns.append(1)
   rows.append(columns)
5

 

Danh sách 2d trong Python là gì?

Ưu điểm của việc sử dụng danh sách 2d.  

Chúng tôi không thể đơn giản sử dụng danh sách 1d cho mọi mục đích. Giả sử chúng tôi có dữ liệu về các mặt hàng khác nhau được mua bởi các khách hàng khác nhau và chúng tôi muốn lưu trữ các mặt hàng đó trong một danh sách.  

Một cách để làm điều đó là

rows=[] 
columns=[] 
for i in range(3):
   for j in range(3):
      columns.append(1)
   rows.append(columns)
6

Danh sách 2d trong Python là gì?

Nhưng giả sử chúng ta có 1000 khách hàng hoặc có thể nhiều hơn, thì việc tạo 1000 danh sách khác nhau có phải là cách đúng đắn không?

Nhưng nếu chúng ta sử dụng mảng 2d để biểu diễn các mục, thì cách tiếp cận sẽ tốt hơn, sạch hơn và nhanh hơn rất nhiều.  

rows=[] 
columns=[] 
for i in range(3):
   for j in range(3):
      columns.append(1)
   rows.append(columns)
7

Danh sách 2d trong Python là gì?

Ngoài ra, sẽ rất dễ dàng để truy xuất các giá trị từ danh sách. Chúng ta sẽ tìm hiểu cách truy xuất các giá trị từ danh sách 2d trong python.  

Cách áp dụng một số phương pháp phổ biến trên danh sách python 2d.  

  • nối thêm (). append() là một chức năng khá phổ biến được sử dụng trong danh sách. Nó được sử dụng để thêm giá trị ở cuối danh sách.  

Nếu chúng ta muốn thêm một danh sách mới vào cuối danh sách cũ,

rows=[] 
columns=[] 
for i in range(3):
   for j in range(3):
      columns.append(1)
   rows.append(columns)
8

Danh sách 2d trong Python là gì?

ĐẦU RA

rows=[] 
columns=[] 
for i in range(3):
   for j in range(3):
      columns.append(1)
   rows.append(columns)
9

Danh sách 2d trong Python là gì?

Nếu chúng ta muốn thêm một phần tử vào cuối danh sách con.  

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

Đầu ra-

[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
1

Danh sách 2d trong Python là gì?

  • loại(). Nếu chúng ta muốn sắp xếp chúng theo thứ tự tăng dần hoặc giảm dần, chúng ta sử dụng sort().  

Bây giờ hãy xem điều gì sẽ xảy ra khi chúng ta áp dụng sort() trên danh sách 2d.  

[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
2

ĐẦU RA

[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
3

Danh sách 2d trong Python là gì?

Quan sát rằng ở đầu ra, chỉ toàn bộ danh sách được sắp xếp chứ không phải danh sách phụ.  

Nếu chúng ta muốn sắp xếp cả danh sách con và danh sách bên ngoài, chúng ta có thể sử dụng đoạn mã sau,

[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
4

ĐẦU RA-

[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
5

Danh sách 2d trong Python là gì?

  • Làm phẳng danh sách 2d. Khi chúng tôi chuyển đổi danh sách 2d thành danh sách 1d, quá trình này được gọi là làm phẳng. Trong python có rất nhiều phương thức và thư viện có thể giúp chúng ta đạt được mục tiêu, trước tiên chúng ta cũng có thể chuyển đổi danh sách 2d thành mảng 2d rồi áp dụng phẳng() trên mảng. Nhưng khi chúng ta đang trong giai đoạn học tập, chúng ta sẽ sử dụng cách tiếp cận ngây thơ để đạt được điều tương tự.  

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

ĐẦU RA-

[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
7

Danh sách 2d trong Python là gì?

Phải đọc

  • Cách chuyển chuỗi thành chữ thường trong
  • Cách tính căn bậc hai
  • Đầu vào của người dùng. Hàm nhập (). Đầu vào bàn phím
  • Cuốn sách hay nhất để học Python

Phần kết luận

Danh sách Python 2d cũng có rất nhiều ưu điểm và hạn chế. Chúng ta nên luôn biết khi nào nên sử dụng nó. Chúng ta nên biết khi nào nên sử dụng từ điển, mảng NumPy, danh sách python 1d.    

hai là gì

Danh sách hai chiều có thể được coi là “danh sách của danh sách”. Danh sách hai chiều có thể được coi là ma trận trong đó mỗi hàng có thể có độ dài khác nhau và hỗ trợ các loại dữ liệu khác nhau .

Sự khác biệt giữa danh sách 1d và 2D là gì?

Mảng một chiều lưu trữ một danh sách các phần tử khác nhau có cùng kiểu dữ liệu. Mảng hai chiều lưu trữ một mảng gồm nhiều mảng khác nhau hoặc một danh sách gồm nhiều danh sách khác nhau hoặc một mảng gồm nhiều mảng một chiều khác nhau. Nó đại diện cho nhiều mục dữ liệu dưới dạng danh sách

Bạn có thể tạo danh sách 2D bằng Python không?

Python cung cấp nhiều cách để tạo danh sách/mảng 2 chiều .

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 .