Chúng ta có thể tạo mảng 2D bằng Python không?

Khái niệm Mảng đa chiều có thể được giải thích là một kỹ thuật xác định và lưu trữ dữ liệu trên một định dạng có nhiều hơn hai chiều (2D). Trong Python, Mảng đa chiều có thể được triển khai bằng cách khớp một hàm danh sách bên trong một hàm danh sách khác, về cơ bản đây là một thao tác lồng cho hàm danh sách. Ở đây, một danh sách có thể có một số giá trị thuộc bất kỳ loại dữ liệu nào được phân tách bằng dấu phân cách như dấu phẩy. Việc lồng danh sách có thể dẫn đến việc tạo tổ hợp các giá trị để tạo mảng nhiều chiều

Danh sách

Danh sách này có thể được sử dụng để biểu thị dữ liệu ở định dạng bên dưới trong python

Danh sách = [1, 2, 3]

Danh sách có thể được viết với các giá trị được phân tách bằng dấu phẩy. Danh sách có thể có dữ liệu như số nguyên, số float, chuỗi, v.v. và cũng có thể được sửa đổi sau khi tạo. Việc lập chỉ mục trong danh sách khá đơn giản, với chỉ mục bắt đầu từ 0 và kéo dài cho đến toàn bộ chiều dài của danh sách-1

Khi một danh sách có các danh sách khác dưới dạng phần tử, nó tạo thành một danh sách hoặc mảng đa chiều. Ví dụ

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

Gói phát triển phần mềm tất cả trong một(hơn 600 khóa học, hơn 50 dự án)

Chúng ta có thể tạo mảng 2D bằng Python không?
Chúng ta có thể tạo mảng 2D bằng Python không?
Chúng ta có thể tạo mảng 2D bằng Python không?
Chúng ta có thể tạo mảng 2D bằng Python không?

Chúng ta có thể tạo mảng 2D bằng Python không?
Chúng ta có thể tạo mảng 2D bằng Python không?
Chúng ta có thể tạo mảng 2D bằng Python không?
Chúng ta có thể tạo mảng 2D bằng Python không?

Giá
Xem các khóa học

Hơn 600 khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập trọn đời
4. 6 (86.629 xếp hạng)

Danh sách = [ [1, 2], [2,5], [5,1] ]

Tại đây, mỗi giá trị của danh sách có thể được truy cập bằng cách viết tên danh sách theo sau là dấu ngoặc vuông để truy xuất các giá trị danh sách bên ngoài như bên dưới

In ( Danh sách[1] )

# [2, 5]

Nếu bạn muốn đi xa hơn bên trong danh sách bên trong, hãy thêm một dấu ngoặc vuông nữa để truy cập các phần tử của nó như bên dưới

In ( Danh sách[1][0] )

#2

Tương tự, nếu chúng ta có nhiều danh sách bên trong một danh sách như

Danh sách = [ [1, 3, 5], [8, 5, 6], [7, 1, 6] ] # cũng có thể được xem như

1, 3, 5

8, 5, 6

7, 1, 6

Tất cả các yếu tố của danh sách có thể được truy cập bằng các chỉ số dưới đây

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

Tạo một danh sách hoặc mảng đa chiều

Giả sử chúng ta có hai biến. số hàng 'r' và số cột 'c'. do đó để tạo một ma trận có kích thước m * n, nó có thể được tạo thành

Array = [ [0] * c ] * r ] # with each element value as 0

Kiểu khai báo này sẽ không tạo m*n khoảng trống trong bộ nhớ; . Do đó trong trường hợp như vậy, nếu chúng ta thay đổi bất kỳ phần tử nào thành 5, thì toàn bộ mảng sẽ có 5 giá trị ở mỗi vị trí phần tử của cùng một cột như bên dưới

Mảng[0][0] = 5

5, 0, 0

5, 0, 0

5, 0, 0

Một cách khác để khai báo Mảng là sử dụng trình tạo có danh sách các phần tử 'c' được lặp lại 'r' lần. Việc khai báo có thể được thực hiện như dưới đây

c = 4
r = 3
Array = [ [0] * c for i in range(r) ]

Ở đây, mỗi phần tử hoàn toàn độc lập với các phần tử khác của danh sách. Danh sách [0] * c được xây dựng r lần dưới dạng danh sách mới và ở đây không xảy ra việc sao chép tham chiếu

Làm cách nào để nhập giá trị vào Mảng đa chiều?

Ở đây, chúng tôi giả sử một mảng 2D có r hàng và c cột mà chúng tôi sẽ lấy giá trị của các phần tử từ người dùng

# User will enter the number of rows in the first line
r = int(input()) 
arr = []
for i in range(r):
    arr.append([int(j) for j in input().split()])

Lặp lại các giá trị của một mảng nhiều chiều

Để lặp qua tất cả các phần tử của mảng nhiều chiều, chúng ta cần sử dụng khái niệm vòng lặp for lồng nhau như bên dưới

# at first we will create an array of c columns and r rows
c = 4
r = 3
arr = [[0] * c for i in range(r)]
# loop will run for the length of the outer list
for i in range(r):
# loop will run for the length of the inner lists
    for j in range(c):
        if i < j: arr[i][j] = 8 elif i > j:
            arr[i][j] = 4
        else:
            arr[i][j] = 7
for r in arr:
    print( ' '.join([str(x) for x in r] ) )

Mảng đa chiều Numpy

Hãy cho chúng tôi xem các mảng đa phương tiện gọn gàng trong python

Numpy là gói được xác định trước trong python được sử dụng để thực hiện các phép toán mạnh mẽ và hỗ trợ đối tượng mảng N chiều. Lớp mảng của Numpy được gọi là “ndarray”, là chìa khóa của khung này. Các đối tượng từ lớp này được gọi là một mảng có nhiều mảng. Sự khác biệt giữa Mảng nhiều chiều và Numpy là các mảng có nhiều mảng là đồng nhất, tôi. e. nó chỉ có thể chứa một số nguyên, chuỗi, float, v.v. , giá trị và kích thước của chúng là cố định. Danh sách đa chiều có thể dễ dàng chuyển đổi thành mảng Numpy như bên dưới

import numpy as nmp
arr = nmp.array( [ [1, 0], [6, 4] ] )
print(arr)

Ở đây, danh sách đa chiều đã cho được chuyển thành mảng Numpy

Tạo một mảng Numpy

import numpy as nmp
X = nmp.array( [ [ 1, 6, 7], [ 5, 9, 2] ] )
print(X)                                                  #Array of integers
X = nmp.array( [ [ 1, 6.2, 7], [ 5, 9, 2] ] )
print(X)                                                  #Array of floats
X = nmp.array( [ [ 1, 6, 7], [ 5, 9, 2] ], dtype = complex )
print(X)                                                  #Array of complex numbers

đầu ra

[[1 6 7] [5 9 2]] [[ 1. 6. 2  7. ] [ 5. 9. 2. ]] [[ 1. +0. j  6. +0. câu 7. +0. j] [ 5. +0. câu 9. +0. j  2. +0. j]]

Truy cập các phần tử, hàng và cột của ma trận Numpy

Mỗi phần tử của mảng Numpy có thể được truy cập giống như trong Danh sách đa chiều, tôi. e. tên mảng theo sau là hai dấu ngoặc vuông, sẽ báo cho chỉ mục hàng và cột chọn một phần tử cụ thể

Ví dụ

import numpy as nmp
X = nmp.array( [ [ 1, 6, 7],
                 [ 5, 9, 2],
                 [ 3, 8, 4] ] )
print(X[1][2]) # element at the given index i.e. 2
print(X[0])     # first row
print(X[1])      # second row
print(X[-1])     # last row
print(X[:, 0])  # first column
print(X[:, 2])  # third column
print(X[:, -1]) # last column

đầu ra

2

[1 6 7] [5 9 2] [3 8 4] [1 5 3] [7 2 4] [7 2 4]

Một số thuộc tính của mảng Numpy

Một số thuộc tính cơ bản của mảng Numpy được sử dụng trong chương trình dưới đây

import numpy as nmp
zero_array = nmp.zeros( (3, 2) )
print('zero_array = ',zero_array)
one_array = nmp.ones( (3, 2) )
print('one_array = ',one_array)
X = nmp.arange(9).reshape(3, 3)
print('X= ', X)
print('Transpose of X= ', X.transpose())

đầu ra
zero_array = [[0. 0. ] [0. 0. ] [0. 0. ]] one_array = [[1. 1. ] [1. 1. ] [1. 1. ]] X= [[0 1 2] [3 4 5] [6 7 8]] Chuyển vị của X= [[0 3 6] [1 4 7] [2 5 8]]

Phần kết luận

Mảng nhiều chiều trong Python cung cấp phương tiện để lưu trữ các loại dữ liệu khác nhau vào một mảng duy nhất ( i. e. trong trường hợp danh sách đa chiều) với mỗi mảng bên trong phần tử có khả năng lưu trữ dữ liệu độc lập với phần còn lại của mảng với độ dài riêng của nó còn được gọi là mảng răng cưa, điều này không thể đạt được trong Java, C và các ngôn ngữ khác

Bài viết được đề xuất

Đây là hướng dẫn về Mảng đa chiều trong Python. Ở đây chúng ta thảo luận về Giới thiệu về mảng đa chiều trong Python, Tạo danh sách hoặc mảng đa chiều, v.v. Bạn cũng có thể xem qua các bài viết được đề xuất khác của chúng tôi để tìm hiểu thêm–

Python có hỗ trợ mảng 2d không?

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

Chúng ta có thể tạo mảng đa chiều trong python không?

Trong Python, Mảng đa chiều có thể được triển khai bằng cách khớp một hàm danh sách bên trong một hàm danh sách khác , về cơ bản đây là một hoạt động lồng nhau cho . Ở đây, một danh sách có thể có một số giá trị thuộc bất kỳ loại dữ liệu nào được phân tách bằng dấu phân cách như dấu phẩy.