Mảng là gì? Cách sử dụng mảng trong Python

Mảng trong Python là loại cấu trúc dữ liệu có thể chứa nhiều giá trị cùng kiểu. Thông thường, chúng bị hiểu sai thành các lists hoặc mảng Numpy. Về mặt kỹ thuật, mảng trong Python khác với cả hai khái niệm trên. Trong bài viết này, hãy cùng tìm hiểu xem mảng trong Python là gì và cách triển khai nó nhé!

Tại sao lại sử dụng mảng trong Python?

Sự kết hợp của mảng cùng với Python có thể giúp bạn tiết kiệm rất nhiều thời gian. Mảng giúp bạn giảm kích thước tổng thể của code, trong khi Python giúp bạn loại bỏ những cú pháp có vấn đề, điều mà các ngôn ngữ khác không làm được.

Ví dụ: Nếu bạn phải lưu trữ các số nguyên từ 1-100, bạn sẽ không thể nhớ chính xác 100 tên biến. Mảng sẽ giúp bạn lưu trữ chúng một cách dễ dàng.

Mảng trong Python giúp bạn lưu trữ các giá trị dễ dàng
Mảng trong Python giúp bạn lưu trữ các giá trị dễ dàng

Khi đã hiểu tầm quan trọng của mảng trong Python, hãy cùng tiếp tục đi sâu vào các kiến thức chi tiết trong những phần dưới đây.

Mảng trong Python là gì?

Mảng về cơ bản là một cấu trúc dữ liệu có thể chứa nhiều giá trị cùng một lúc. Nó là một tập hợp hoặc một loạt các phần tử (có thứ tự) cùng loại. Ví dụ:

a=arr.array('d',[1.2,1.3,2.3])

Chúng ta có thể chạy vòng lặp qua các mảng một cách dễ dàng và tìm nạp các giá trị cần thiết bằng cách xác định số chỉ mục (index number). Mảng cũng có thể thay đổi, do đó, bạn có thể thực hiện các thao tác khác nhau theo yêu cầu.

Tiếp đến, câu hỏi được đặt ra là:

List có giống với mảng trong Python không?

Mảng và lists trong Python có điểm tương đồng khi cùng lưu trữ các giá trị. Tuy nhiên, sự khác biệt nằm ở các giá trị mà chúng lưu trữ. Một list có thể lưu trữ bất kỳ loại giá trị nào như số xen kẽ, chuỗi, v.v. Trong khi đó, mảng lưu trữ các giá trị kiểu dữ liệu đơn lẻ. Ví dụ, bạn có thể có một mảng số nguyên, một mảng chuỗi, v.v.

Cách tạo một mảng trong Python

Mảng trong Python có thể được tạo ra sau khi nhập module như sau:

→         import array as arr

Hàm array(data type, value list) nhận hai tham số, tham số đầu tiên là kiểu dữ liệu của giá trị được lưu trữ và tham số thứ hai là list giá trị. Kiểu dữ liệu có thể là bất cứ thứ gì, chẳng hạn như int, float, double, v.v. Bạn hãy lưu ý rằng arr chỉ là tên bí danh (alias) để dễ sử dụng. Bạn cũng có thể nhập mà không cần bí danh. Có một cách khác để nhập module mảng là:

→         from array import *

Dòng này có nghĩa bạn muốn nhập tất cả các hàm từ module mảng.

Dưới đây là cú pháp để tạo một mảng:

Cú pháp:

a=arr.array(data type,value list)       #when you import using arr alias

Hoặc:

 a=array(data type,value list)           	#when you import using *

Ví dụ: a=arr.array( ‘d’ , [1.1 , 2.1 ,3.1] )

Ở đây, tham số đầu tiên là ‘d’, một kiểu dữ liệu float và các giá trị được chỉ định làm tham số tiếp theo.

Ghi chú:
Tất cả các giá trị được chỉ định là kiểu float. Bạn không thể chỉ định các giá trị của các kiểu dữ liệu khác nhau cho một mảng.

Bảng sau đây cho bạn thấy các loại dữ liệu khác nhau và codes của chúng:

Loại codeLoại dữ liệu PythonKích thước (byte)
iint2
Iint2
uunicode character2
hint2
Hint2
lint4
Lint4
ffloat4
dfloat8

Truy cập các phần tử của mảng trong Python

Để truy cập các phần tử của mảng, bạn cần chỉ định các giá trị chỉ mục (index values). Việc lập chỉ mục bắt đầu từ 0 chứ không phải từ 1. Do đó, số chỉ mục luôn nhỏ hơn 1 so với độ dài của mảng.

Cú pháp:

Array_name[index value]

Ví dụ:

a=arr.array( 'd', [1.1 , 2.1 ,3.1] )
a[1]

Kết quả: 

2.1

Kết quả trả về là giá trị nằm ở vị trí thứ hai trong mảng: 2.1.

Cách tìm độ dài của một mảng

Độ dài của mảng là số lượng phần tử thực sự có trong một mảng. Bạn có thể sử dụng hàm len () để tìm được độ dài của mảng. Hàm len () sẽ trả về một giá trị nguyên bằng số phần tử có trong mảng đó.

Cú pháp:

→ len(array_name)

Ví dụ:

a=arr.array('d', [1.1 , 2.1 ,3.1] )
len(a)

Kết quả:

3

Kết quả trả về là 3, chính là số phần tử có trong mảng.

Các thao tác cơ bản với mảng

Có rất nhiều thao tác có thể được thực hiện trong mảng:

Các toán từ mảng cơ bản

1. Bổ sung/ Thay đổi các phần tử trong mảng

Chúng ta có thể thêm giá trị vào một mảng bằng cách sử dụng các hàm append (), extend ()insert (i, x).

Hàm append () được sử dụng khi chúng ta cần thêm một phần tử vào cuối mảng.

Ví dụ:

a=arr.array('d', [1.1 , 2.1 ,3.1] )
a.append(3.4)
print(a)

Kết quả:

array(‘d’, [1.1, 2.1, 3.1, 3.4])

Kết quả cho ra một mảng thực tế với giá trị mới được thêm vào cuối nó.

Để bổ sung thêm nhiều phần tử, bạn có thể sử dụng hàm extend (). Hàm này nhận một list các phần tử làm tham số của nó. Nội dung của list này là các phần tử được thêm vào mảng.

Ví dụ:

a=arr.array('d', [1.1 , 2.1 ,3.1] )
a.extend([4.5,6.3,6.8])
print(a)

Kết quả:

array(‘d’, [1.1, 2.1, 3.1, 4.5, 6.3, 6.8])

Kết quả là một mảng chứa tất cả 3 phần tử mới được thêm vào cuối mảng.

Tuy nhiên, khi bạn cần thêm một phần tử cụ thể tại một vị trí xác định trong mảng, hàm insert (i, x) có thể được sử dụng. Hàm này sẽ chèn phần tử vào chỉ mục tương ứng trong mảng. Nó nhận 2 tham số, trong đó tham số đầu tiên là chỉ mục nơi phần tử cần được chèn vào và tham số thứ hai là giá trị.

Ví dụ:

a=arr.array('d', [1.1 , 2.1 ,3.1] )
a.insert(2,3.8)
print(a)

Kết quả:

array(‘d’, [1.1, 2.1, 3.8, 3.1])

Kết quả là một mảng chứa giá trị 3.8 ở vị trí thứ 3.

2. Nối mảng

Mảng cũng có thể được hợp nhất bằng cách thực hiện nối mảng. Bất kỳ hai mảng nào cũng có thể được hợp nhất với ký tự “+”.

Ví dụ:

a=arr.array('d',[1.1 , 2.1 ,3.1,2.6,7.8])
b=arr.array('d',[3.7,8.6])
c=arr.array('d')
c=a+b
print("Array c = ",c)

Kết quả:

Array c= array(‘d’, [1.1, 2.1, 3.1, 2.6, 7.8, 3.7, 8.6])

Có thể thấy, mảng c là sự kết hợp các phần tử của mảng a và b.

3. Xoá bỏ các phần tử của một mảng

Các phần tử của mảng có thể được xóa bằng phương thức pop () hoặc remove (). Sự khác biệt giữa hai hàm này là hàm pop () trả về giá trị đã xóa trong khi hàm remove () thì không.

Hàm pop () không nhận tham số hoặc giá trị chỉ mục làm tham số của nó. Khi không có tham số nào được đưa ra, hàm này lấy phần tử cuối cùng và trả về nó. Khi bạn cung cấp giá trị chỉ mục một cách rõ ràng, hàm pop () lấy các phần tử bắt buộc và trả về nó.

Ví dụ:

a=arr.array('d', [1.1, 2.2, 3.8, 3.1, 3.7, 1.2, 4.6])
print(a.pop())
print(a.pop(3))

Kết quả:

4.6
3.1

Hàm pop () đầu tiên đã lấy đi giá trị 4.6 và trả về kết quả tương tự, trong khi hàm thứ hai lấy phần tử ở vị trí thứ 4 là 3.1.

Hàm remove (), mặt khác, được sử dụng khi chúng ta không cần trả về giá trị đã loại bỏ. Hàm này lấy chính giá trị phần tử làm tham số. Nếu bạn cung cấp giá trị chỉ mục trong vùng tham số, nó sẽ tạo ra lỗi.

Ví dụ:

a=arr.array('d',[1.1 , 2.1 ,3.1])
a.remove(1.1)
print(a)

Kết quả:

array(‘d’, [2.1,3.1])

Kết quả cho ra một mảng chứa các phần tử ngoại trừ giá trị 1.1.

4. Cắt một mảng

Khi bạn muốn lấy một phạm vi giá trị cụ thể từ một mảng, bạn có thể cắt mảng để trả về giá trị tương tự. Một mảng có thể được cắt bằng cách sử dụng ký tự “:”. Kết quả trả về sẽ là một loạt các phần tử mà bạn đã chỉ định bởi các số chỉ mục.

Ví dụ:

a=arr.array('d',[1.1 , 2.1 ,3.1,2.6,7.8])
print(a[0:3])

Kết quả:

array(‘d’, [1.1, 2.1, 3.1])

Kết quả trả về là các phần tử ở vị trí thứ 1, 2, 3 trong mảng.

5. Sử dụng vòng lặp đối với mảng

Sử dụng vòng lặp for, bạn có thể chạy vòng lặp qua một mảng.

Ví dụ:

a=arr.array('d', [1.1, 2.2, 3.8, 3.1, 3.7, 1.2, 4.6])
print("All values")
for x in a:
print(x)
print("specific values")
for x in a[1:3]:
print(x)

Kết quả:

All values

1.1

2.2

3.8

3.1

3.7

1.2

4.6

specific values

2.2

3.8

Kết quả ở trên được hiển thị bằng cách sử dụng vòng lặp for. Khi chúng ta sử dụng vòng lặp for mà không có bất kỳ tham số cụ thể nào, kết quả sẽ chứa tất cả các phần tử của mảng đã cho tại một thời điểm. Trong vòng lặp for thứ hai, kết quả chỉ chứa các phần tử được chỉ định bằng cách sử dụng các giá trị chỉ mục. Lưu ý rằng kết quả không chứa giá trị ở chỉ số 3.


Trên đây là những kiến thức quan trọng nhất về mảng trong Python. Chúng mình hy vọng bài viết này đã giúp bạn nắm bắt được nền tảng cơ bản về mảng và cách sử dụng nó trong Python. Để có thể nâng cao kỹ năng sử dụng Python của mình, bạn có thể tham khảo các bài tập cũng như tài liệu học tại:


Got It Vietnam – Tham khảo: edureka.co

Nếu bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và đọc thêm về quy trình tuyển dụng tại đây.

Uyen Tran
Uyen Tran
December 10, 2020
0
Share this post to:
Tags:
0 Comments
Inline Feedbacks
View all comments
Các bài viết liên quan
Ngôn ngữ Python và 15 sự thật bạn có thể chưa biết

Ngôn ngữ Python và 15 sự thật bạn có thể chưa biết

Dùng ngôn ngữ Python hàng ngày, nhưng bạn có biết rằng Python vốn là một dự án sở thích dịp Giáng Sinh? Không chỉ có một nguồn gốc thú vị, còn có rất nhiều sự thật khác về ngôn ngữ này làm cho bạn hứng thú đấy. Hãy khám phá 15 sự thật đó ngay […]
Top các thư viện Python sử dụng cho lập trình trí tuệ nhân tạo

Top các thư viện Python sử dụng cho lập trình trí tuệ nhân tạo

Các thư viện phổ biến được dùng cho lập trình trí tuệ nhân tạo là gì? Một trong những lý do Python trở thành ngôn ngữ lý tưởng nhất cho việc lập trình AI là hệ sinh thái thư viện mà nó cung cấp. Các thuật toán và công cụ AI có thể được thực […]
Lý do nên chọn lập trình trình trí tuệ nhân tạo (AI) bằng Python

Lý do nên chọn lập trình trình trí tuệ nhân tạo (AI) bằng Python

Hiện nay, trong thế giới lập trình, Python đang dẫn đầu trong cuộc đua tìm ra ngôn ngữ tốt nhất cho AI và mạng nơ-ron. Trong bài viết này, hãy cùng tìm hiểu tại sao lập trình trí tuệ nhân tạo bằng Python lại là một lựa chọn lý tưởng đến vậy. Mục lụcNhững thế […]
Bắt đầu học ngôn ngữ lập trình Python qua các dự án

Bắt đầu học ngôn ngữ lập trình Python qua các dự án

Học ngôn ngữ lập trình Python là luôn nằm trong top những điều mọi người nên làm trong những năm gần đây. Python được sử dụng rộng rãi trong nhiều lĩnh vực hot như Khoa học Dữ liệu, phát triển web, kỹ thuật phần mềm, phát triển trò chơi, tự động hóa… Sẽ rất khó […]
Python dùng để làm gì? Top 5 ngành cần Python

Python dùng để làm gì? Top 5 ngành cần Python

Python không còn là cái tên xa lạ với các bạn yêu công nghệ. Với Python, bạn có thể thử ứng dụng lập trình vào cuộc sống. Hay đơn giản là có thiên hướng trở thành lập trình viên. Nhưng Python dùng để làm gì? Và Python đóng vai trò gì trong cuộc sống chúng […]
Học Python ở đâu? – 5 Website miễn phí tốt nhất

Học Python ở đâu? – 5 Website miễn phí tốt nhất

Python đang trở thành nguồn động lực lớn cho nhiều người học lập trình. Với kiến thức từ Python, bạn có thể xây dựng, phát triển website, viết các ứng dụng web sử dụng Django,… Nhưng học Python ở đâu sẽ giúp bạn có thể “thành thục” Python nhanh nhất? Nếu bạn đang có mong […]