Bạn có thể lồng các mảng trong python không?

Ngày nay chúng ta có thể thấy mảng 2D được sử dụng ở mọi nơi. Ví dụ đơn giản – bàn cờ, trứng xếp trong hộp đựng trứng hình chữ nhật là mảng 2D. Trong thế giới máy tính, chúng tôi sử dụng mảng 2D ở khắp mọi nơi. Mảng 2D được sử dụng trong Xử lý hình ảnh, Khảo sát, Xử lý giọng nói, Khoa học địa chất, Bảng, Cơ sở dữ liệu, Đồ thị, v.v.  

Kích thước trong một mảng là gì?

  • Mảng 0D là một mảng có một phần tử duy nhất. Nói một cách đơn giản, mỗi giá trị trong bất kỳ mảng nào là mảng 0-D
  • Trong mảng 1D, mảng sẽ chỉ có một chiều. Đó là, bằng cách thêm các phần tử hoặc bằng cách loại bỏ các phần tử, mảng sẽ phát triển hoặc thu nhỏ theo chiều dọc. Chỉ có một chỉ mục được sử dụng để truy cập các phần tử của mảng này

Ghi chú. Mảng lồng nhau là các mảng có (các) mảng khác làm phần tử của chúng

Mảng 2 chiều là một mảng gồm các mảng (mảng lồng nhau) có hai chiều. Mảng 2D có thể phát triển hoặc thu nhỏ theo chiều dọc cũng như chiều ngang. Nó có thể được biểu diễn dưới dạng hàng và cột. Lưới hoặc ma trận là một ví dụ về mảng 2D. Mỗi phần tử được truy cập bằng hai chỉ số, một tương ứng với hàng và một tương ứng với cột. Tham khảo ví dụ dưới đây

Đây là biểu diễn sơ đồ của một ma trận (mảng 2D) trong Python minh họa cách chúng được lập chỉ mục trong Python

Bạn có thể lồng các mảng trong python không?

Trong hướng dẫn này, bạn sẽ tìm hiểu các cách khác nhau để tạo mảng 2D

Phương pháp 1. Sử dụng danh sách lồng nhau

Nếu bạn muốn tạo một mảng 2D trống mà không sử dụng bất kỳ thư viện bên ngoài nào, bạn có thể sử dụng danh sách lồng nhau. Nói một cách đơn giản, một danh sách các danh sách là một mảng 2D

Thí dụ

arr_2d=[[1,2],[3,4],[5,6]]
print(arr_2d)

# [[1, 2], [3, 4], [5, 6]]

Hình dung. Xét mảng 2D sau

[element_0  element_1
element_2  element_3
element_4  element_5]

Mảng 2D ở trên có thể được biểu diễn với sự trợ giúp của danh sách lồng nhau trong Python. Thực hiện theo hình minh họa dưới đây để hình dung cách các ô của nó được lập chỉ mục trong Python

Bạn có thể lồng các mảng trong python không?

Bây giờ bạn đã có một bức tranh rõ ràng về cách sử dụng các danh sách lồng nhau để biểu thị một mảng 2D trong Python, hãy tìm hiểu cách chúng ta có thể tạo một mảng 2D trống (được tải bằng các số 0), sau đó chúng ta sẽ tìm hiểu cách chúng ta có thể gán giá trị cho

Tạo một mảng 2D được tải bằng Zeros

Sử dụng vòng lặp For

Để tạo/khởi tạo một mảng 2D trống được tải bằng các số 0, đối với mỗi lần xuất hiện của một hàng, chúng tôi điền vào tất cả các phần tử cột và nối nó vào hàng

Cách tiếp cận. Trước tiên, chúng tôi tạo một danh sách phụ đại diện cho tất cả các giá trị cột và nối nó vào danh sách bên ngoài như được hiển thị bên dưới

for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the column values
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)

Thí dụ. Trong ví dụ sau, bạn sẽ học cách tạo một mảng 2D có 3 hàng và 2 cột

number_of_rows = 3
number_of_columns = 2
arr_2d=[]
for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the values w.r.t to a particular column
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)

print(arr_2d)

đầu ra

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

Sử dụng hiểu danh sách

Việc khởi tạo các mảng được nạp với các số 0 không phải là một nhiệm vụ quá dài nếu bạn biết cách hoạt động của việc hiểu danh sách trong Python. Sử dụng khả năng hiểu danh sách, bạn có thể sao chép đoạn mã trên trong một dòng mã như hình bên dưới

array_2d = [[0 for x in range(number_of_rows)] for y in range(number_of_columns)]

Thí dụ

array_2d = [[0 for x in range(2)] for y in range(3)]
print(array_2d)

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

Gán giá trị cho mảng 2D

Khi mảng đã được khởi tạo, việc gán giá trị là một công việc đơn giản vì bạn chỉ cần sử dụng cách lập chỉ mục thích hợp (hàng và cột) để gán giá trị cho các ô tương ứng

Syntax: array_2d[row_number][column_number]= element

Thí dụ. Để gán giá trị cho tất cả các phần tử của hàng đầu tiên, hãy sử dụng cú pháp sau

array_2d[0][0]=1
array_2d[0][1]=2

Phương pháp 2. Sử dụng từ điển

Một cách khác để tạo mảng 2D trong Python mà không cần sử dụng mô-đun bên ngoài là sử dụng từ điển Python. Từ điển hoạt động như một trình giữ chỗ để chứa tất cả các phần tử của mảng

✉️️Lưu ý. Cách tiếp cận này chỉ phù hợp nhất khi bạn cần có một vùng chứa riêng để chứa các giá trị và ô của mảng 2D. Nếu bạn có nhiều thao tác cần thực hiện trên mảng, điều này có thể trở nên phức tạp và không được khuyến nghị trong những trường hợp như vậy

Thí dụ. Chúng tôi đang tạo một mảng từ điển trống_2d và sau đó điền vào các giá trị

________số 8

đầu ra

[1, 2, 3]
[4, 5, 6]

Giải trình. Trong ví dụ trên, ban đầu, chúng tôi đã gán các giá trị cho các ô tương ứng của mảng 2D sao cho chỉ số hàng và cột đại diện cho các khóa của từ điển và các giá trị trong mỗi ô của mảng 2D được biểu thị bằng các giá trị được liên kết với từng khóa . Để thuận tiện, chúng tôi đã lưu trữ từng hàng của mảng dưới dạng danh sách trong các khóa riêng biệt bằng cách kết hợp các khóa đã gán trước đó trong các danh sách riêng biệt đóng vai trò là giá trị cho các khóa này. Cuối cùng, chúng tôi in mảng với sự trợ giúp của a

for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the column values
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)
9 bằng cách hiển thị các khóa của từ điển đang lưu trữ danh sách, i. e. , các hàng riêng lẻ của mảng 2D

Phương pháp 3. Sử dụng NumPy

Cách thuận tiện nhất để làm việc với mảng trong Python là sử dụng thư viện Numpy của Python

Python có mô-đun tuyệt vời này tên là

number_of_rows = 3
number_of_columns = 2
arr_2d=[]
for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the values w.r.t to a particular column
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)

print(arr_2d)
0 có thể được sử dụng để tạo mảng nhiều chiều.
number_of_rows = 3
number_of_columns = 2
arr_2d=[]
for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the values w.r.t to a particular column
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)

print(arr_2d)
1 được thiết kế đặc biệt để hoạt động với mảng trong Python. Thư viện này hỗ trợ rất nhiều hàm dùng để thực hiện các thao tác trên mảng như nhân ma trận, hoán vị, cộng ma trận, v.v. Trên thực tế,
number_of_rows = 3
number_of_columns = 2
arr_2d=[]
for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the values w.r.t to a particular column
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)

print(arr_2d)
1 có toàn bộ mô hình con dành riêng cho ma trận được gọi là ______23

Vì Numpy là thư viện bên ngoài nên bạn phải cài đặt nó trước khi sử dụng. Để làm như vậy, hãy sử dụng lệnh sau trên thiết bị đầu cuối của bạn. cài đặt pip gọn gàng

Sau khi cài đặt, bạn có thể nhập mô-đun Numpy và sử dụng các chức năng và mô-đun của nó để làm việc với các mảng nhiều chiều

Tạo mảng 2D được tải bằng Zeros

Để tạo một mảng 2D được tải bằng các số không, bạn chỉ cần sử dụng hàm numpy. phương thức số không (). Đây là những gì tài liệu chính thức của Numpy nêu về numpy. phương thức số không ()

Bạn có thể lồng các mảng trong python không?
for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the column values
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)
0

Thí dụ. Để tạo một mảng có 3 hàng và 2 cột

for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the column values
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)
1

đầu ra

for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the column values
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)
2

Nếu bạn đã tạo một mảng có nhiều ô trống với các số không, thì đây là cách bạn có thể sử dụng nó sau này để gán giá trị

for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the column values
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)
3

đầu ra

for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the column values
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)
4

Tạo mảng 2D với Numpy

Để tạo một đối tượng mảng có nhiều mảng, bạn phải sử dụng phương thức

number_of_rows = 3
number_of_columns = 2
arr_2d=[]
for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the values w.r.t to a particular column
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)

print(arr_2d)
4

for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the column values
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)
5

đầu ra

for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the column values
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)
6

Ghi chú. Một đối tượng mảng

number_of_rows = 3
number_of_columns = 2
arr_2d=[]
for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the values w.r.t to a particular column
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)

print(arr_2d)
1 được gọi là
number_of_rows = 3
number_of_columns = 2
arr_2d=[]
for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the values w.r.t to a particular column
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)

print(arr_2d)
6

Thưởng. Chuyển đổi danh sách thành mảng NumPy

Một cách để chuyển đổi danh sách thành một mảng có nhiều mảng là chuyển nó trong phương thức

number_of_rows = 3
number_of_columns = 2
arr_2d=[]
for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the values w.r.t to a particular column
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)

print(arr_2d)
4. Nhưng nếu bạn có một danh sách đơn giản và bạn muốn chuyển đổi nó thành một mảng 2D thì sao?

Numpy một lần nữa có giải pháp cho vấn đề của bạn vì bạn có thể sử dụng phương pháp

number_of_rows = 3
number_of_columns = 2
arr_2d=[]
for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the values w.r.t to a particular column
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)

print(arr_2d)
8 để định hình lại danh sách thành mảng 2D

Thí dụ. Hãy chuyển đổi danh sách li = [1,2,3,4,5,6,7,8,9] thành mảng n*n 2D

for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the column values
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)
7

đầu ra

for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the column values
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)
6

Giải trình. Chuyển đổi danh sách thành một đối tượng mảng có nhiều mảng với sự trợ giúp của phương thức

number_of_rows = 3
number_of_columns = 2
arr_2d=[]
for x in range(number_of_rows):
   column_elements=[]
   for y in range(number_of_columns):
       # Enter the all the values w.r.t to a particular column
       column_elements.append(0)
   #Append the column to the array.
   arr_2d.append(column_elements)

print(arr_2d)
9 và sau đó sử dụng phương thức
[[0, 0], [0, 0], [0, 0]]
0 để chuyển đổi mảng này thành mảng 2D

Chúng ta có thể định hình lại thành bất kỳ hình dạng nào không?
Có, bạn có thể định hình lại một mảng theo bất kỳ hình dạng nào miễn là các phần tử có trong một mảng nhất định bằng nhau và có thể khớp đúng với . Ví dụ: bạn có thể dễ dàng định hình lại mảng 1D 9 phần tử thành 3 phần tử trong mảng 2D 3 hàng. Tuy nhiên, bạn không thể định hình lại nó thành mảng 2D 3 phần tử 2 hàng và nó sẽ tạo ra một lỗi

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

Bạn có thể lồng các mảng trong python không?

Sự kết luận

Trong hướng dẫn này, chúng tôi đã trình bày một số cách cơ bản để tạo mảng 2D trong Python. Chúng tôi hy vọng điều này đã được thông tin. Vui lòng tiếp tục theo dõi và đăng ký để biết thêm các mẹo và thủ thuật như vậy

Cảm ơn bạn đã đọc

đăng tín dụng. Shubham Sayon và Anusha Pai

lập trình viên

👱‍♀️ Lập trình viên 1. Chúng tôi gặp sự cố
🧔‍♂️ Lập trình viên 2. Hãy sử dụng RegEx.
👱‍♀️ Lập trình viên 1. Bây giờ chúng ta có hai vấn đề

… chưa hết – bạn có thể dễ dàng giảm hai vấn đề này xuống 0 khi hoàn thiện “Siêu năng lực RegEx trong Python” của mình. 🙂


Khuyến khích. Học viện Khoa học Máy tính Finxter

  • Một trong những kỹ năng được tìm kiếm nhiều nhất trên Fiverr và Upwork là tìm kiếm trang web. Không tạo ra một sai sót. trích xuất dữ liệu theo chương trình từ các trang web là một kỹ năng sống quan trọng trong thế giới ngày nay được định hình bởi web và công việc từ xa
  • Vì vậy, bạn có muốn thành thạo nghệ thuật quét web bằng BeautifulSoup của Python không?
  • Nếu câu trả lời là có – khóa học này sẽ đưa bạn từ người mới bắt đầu đến chuyên gia về Quét web

Bạn có thể lồng các mảng trong python không?

Bạn có thể lồng các mảng trong python không?

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

Các mảng NumPy có thể được lồng vào nhau không?

Một cách chúng ta có thể khởi tạo mảng NumPy là từ danh sách Python, sử dụng danh sách lồng nhau cho dữ liệu hai chiều trở lên .

Bạn có thể đặt mảng trong mảng Python không?

Để cộng hai mảng lại với nhau, chúng ta sẽ sử dụng hàm numpy. thêm phương thức(arr1,arr2) . Để sử dụng phương pháp này, bạn phải đảm bảo rằng hai mảng có cùng độ dài.

Mảng có thể được cắt bằng Python không?

Mảng cắt . Chúng tôi chuyển lát cắt thay vì chỉ mục như thế này. [bắt đầu. chấm dứt]. Chúng ta cũng có thể xác định bước, như thế này. [bắt đầu. chấm dứt. bươc]. Slicing in python means taking elements from one given index to another given index. We pass slice instead of index like this: [start:end] . We can also define the step, like this: [start:end:step] .

Tại sao mảng không được sử dụng trong Python?

Mảng cần được khai báo trong khi danh sách không cần khai báo vì chúng là một phần của cú pháp Python. Đây là lý do danh sách thường được sử dụng hơn mảng.