PHP
Python

Trang chủ

Các phương thức của mảng trong Python

Ngôn ngữ Python là một ngôn ngữ lập trình đa mục đích, nổi tiếng với cú pháp dễ đọc, dễ học và tính ứng dụng cao. Trong lĩnh vực phát triển web, Python thường được sử dụng thông qua các framework như Django và Flask để xây dựng các ứng dụng web mạnh mẽ, bảo mật và dễ mở rộng. Trong chuyên mục này, Vietnix không chỉ cung cấp kiến thức nền tảng về ngôn ngữ Python mà còn hướng dẫn chi tiết cách xây dựng các ứng dụng web thực tế, sử dụng các framework phổ biến và áp dụng các kỹ thuật tiên tiến. Vietnix cam kết liên tục cập nhật những bài viết mới nhất về các tính năng mới của Python, các thư viện hỗ trợ hữu ích và những phương pháp tốt nhất, giúp bạn khai thác tối đa sức mạnh của Python và hoàn thiện kỹ năng lập trình web của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
06/03/2025
13 phút đọc
Theo dõi Vietnix trên

Các phương thức của mảng trong Python

Sắp xếp mảng là một thao tác quan trọng trong lập trình, giúp tổ chức dữ liệu theo một thứ tự nhất định, từ đó tối ưu hóa hiệu suất tìm kiếm, truy xuất và xử lý thông tin. Trong bài viết này, mình sẽ hướng dẫn bạn cách làm việc với mảng trong Python, từ cách sử dụng lớp array, các phương thức thao tác với phần tử, cho đến cách chuyển đổi dữ liệu trong mảng.

Điểm chính cần nắm

  • Array methods – Các phương thức của mảng: Giới thiệu các phương thức quan trọng giúp thao tác với mảng trong Python.
  • Class array – Lớp mảng trong Python là gì?: Định nghĩa về lớp array, cách sử dụng và đặc điểm chính.
  • Các nhóm phương thức chính trong array: Phân loại các nhóm phương thức quan trọng để làm việc với mảng.
    • Thêm/Xóa phần tử trong Python: Các phương thức để thêm và xóa phần tử trong mảng.
      • Thêm phần tử vào mảng: Hướng dẫn sử dụng append(), extend(), insert().
      • Xóa phần tử khỏi mảng: Hướng dẫn sử dụng pop(), remove().
    • Lấy thông tin về mảng: Các phương thức lấy thông tin như buffer_info(), count(), index().
    • Thao tác với phần tử mảng: Các phương thức giúp đảo ngược thứ tự hoặc thay đổi dữ liệu trong mảng.
    • Chuyển đổi dữ liệu trong mảng: Hướng dẫn chuyển đổi giữa mảng với các loại dữ liệu khác.
      • Chuyển đổi giữa mảng và danh sách: Sử dụng tolist(), fromlist().
      • Chuyển đổi giữa mảng và bytes: Sử dụng tobytes(), frombytes().
      • Chuyển đổi giữa mảng và file: Sử dụng tofile(), fromfile().
      • Chuyển đổi giữa mảng và chuỗi Unicode: Sử dụng tounicode(), fromunicode().
  • Vietnix – Dẫn đầu về tốc độ, bảo mật và chất lượng dịch vụ: Vietnix cung cấp dịch vụ máy chủ, hosting, VPS với hiệu suất cao, bảo mật tối ưu.

Array methods – Các phương thức của mảng

Module array trong Python cung cấp một kiểu dữ liệu giúp lưu trữ các giá trị cơ bản như ký tự, số nguyên và số thực. Mảng trong Python có nhiều điểm tương đồng với danh sách (list), nhưng có một điểm khác biệt quan trọng: tất cả phần tử trong mảng phải có cùng kiểu dữ liệu (đồng nhất – homogeneous) và được lưu trữ theo thứ tự.

Array methods - Các phương thức của mảng
Array methods – Các phương thức của mảng

Khi tạo mảng, kiểu dữ liệu của nó được xác định bằng một mã kiểu (typecode) – một ký tự đơn biểu thị loại dữ liệu. Một số mã kiểu dữ liệu phổ biến gồm:

  • 'i' – Số nguyên (integer)
  • 'f' – Số thực (float)
  • 'u' – Ký tự Unicode (Unicode character)

Các phương thức của mảng hỗ trợ nhiều thao tác như thêm, mở rộng và xử lý phần tử. Những phương thức này giúp quản lý dữ liệu hiệu quả, đặc biệt hữu ích cho tính toán số học và lưu trữ dữ liệu gọn nhẹ.

Class array – Lớp mảng trong Python là gì?

Lớp array trong Python cung cấp nhiều phương thức để thao tác với mảng, bao gồm thêm, xóa phần tử, lấy thông tin, chỉnh sửa dữ liệu và chuyển đổi mảng sang các kiểu dữ liệu khác. Dưới đây là các phương thức được phân loại theo chức năng.

Mảng được tạo bằng lớp array.array(typecode[, initializer]), trong đó:

  • typecode là một ký tự đơn xác định kiểu dữ liệu của mảng.
  • initializer (tùy chọn) là một danh sách hoặc một dãy số để khởi tạo mảng.

Các nhóm phương thức của mảng trong Python

  • Thêm/Xóa phần tử: append(), extend(), insert(), pop(), remove().
  • Lấy thông tin về mảng: buffer_info(), count(), index().
  • Thao tác với phần tử: reverse(), byteswap().
  • Chuyển đổi dữ liệu: frombytes(), tobytes(), fromfile(), tofile(), fromlist(), tolist(), fromunicode(), tounicode().

Thêm/Xóa phần tử trong Python

Dưới đây là các phương thức dùng để thêm (append, extend, insert) và xóa (pop, remove) phần tử trong mảng:

STTPhương thứcMô tả
1append(x)Thêm phần tử x vào cuối mảng.
2extend(iterable)Thêm tất cả phần tử từ một danh sách hoặc iterable vào cuối mảng.
3insert(i, x)Chèn phần tử x vào vị trí i trong mảng.
4pop([i])Xóa và trả về phần tử tại vị trí i. Nếu không có i, xóa phần tử cuối cùng.
5remove(x)Xóa lần xuất hiện đầu tiên của phần tử x trong mảng.
Thêm/Xóa phần tử trong Python

Thêm phần tử vào mảng

  • append(x) – Thêm phần tử vào cuối mảng
import array

arr = array.array('i', [1, 2, 3])
arr.append(4)  # Thêm số 4 vào cuối mảng

print(arr)  # Output: array('i', [1, 2, 3, 4])
  • extend(iterable) – Thêm nhiều phần tử từ một danh sách hoặc iterable
arr.extend([5, 6, 7])
print(arr)  # Output: array('i', [1, 2, 3, 4, 5, 6, 7])
  • insert(i, x) – Chèn phần tử vào vị trí chỉ định
arr.insert(2, 99)  # Chèn 99 vào vị trí thứ 2 (index 2)
print(arr)  # Output: array('i', [1, 2, 99, 3, 4, 5, 6, 7])

Xóa phần tử khỏi mảng

  • pop([i]) – Xóa phần tử tại vị trí i hoặc phần tử cuối cùng

iconLưu ý

  • Nếu không truyền i, phương thức sẽ xóa và trả về phần tử cuối cùng.
  • Nếu có i, phương thức sẽ xóa và trả về phần tử tại vị trí i.
arr.pop()  # Xóa phần tử cuối cùng
print(arr)  # Output: array('i', [1, 2, 99, 3, 4, 5, 6])

arr.pop(2)  # Xóa phần tử tại index 2 (99)
print(arr)  # Output: array('i', [1, 2, 3, 4, 5, 6])
  • remove(x) – Xóa phần tử đầu tiên có giá trị x

iconLưu ý

  • Nếu mảng có nhiều phần tử giống nhau, chỉ phần tử đầu tiên được xóa.

arr.remove(3)  # Xóa số 3 đầu tiên trong mảng
print(arr)  # Output: array('i', [1, 2, 4, 5, 6])

Mọi người cũng xem:

Lấy thông tin về mảng

Python cung cấp các phương thức để lấy thông tin về mảng, bao gồm địa chỉ bộ nhớ, số lượng phần tử, vị trí của phần tử trong mảng,…

STTPhương thứcMô tả
1buffer_info()Trả về địa chỉ bộ nhớsố phần tử của mảng dưới dạng một tuple (address, length).
2count(x)Trả về số lần xuất hiện của phần tử x trong mảng.
3index(x[, start[, stop]])Tìm chỉ mục nhỏ nhất của phần tử x trong mảng. Có thể giới hạn phạm vi tìm kiếm bằng startstop.
Lấy thông tin về mảng

Ví dụ:

import array  

arr = array.array('i', [1, 2, 3, 2, 4, 2])  

# buffer_info()
# Lấy thông tin bộ nhớ của mảng
print(arr.buffer_info())  

# count(x)
# Đếm số lần xuất hiện của số 2 trong mảng
print(arr.count(2))  

# index(x[, start[, stop]])
# Tìm chỉ mục đầu tiên của số 3 trong mảng
print(arr.index(3)) 

Kết quả:

(140123456789456, 6) # Địa chỉ bộ nhớ và số phần tử trong mảng
3 # Số lần số 2 xuất hiện trong mảng
2 # Chỉ mục đầu tiên của số 3

Thao tác với phần tử mảng

Python cung cấp một số phương thức giúp thao tác trực tiếp với các phần tử trong mảng, bao gồm đảo ngược thứ tự phần tửhoán đổi byte của dữ liệu.

STTPhương thứcMô tả
1reverse()Đảo ngược thứ tự các phần tử trong mảng.
2byteswap()Hoán đổi byte của tất cả phần tử trong mảng, hữu ích khi đọc dữ liệu từ hệ thống có thứ tự byte khác.
Thao tác với phần tử mảng

Ví dụ:

import array  

# Tạo mảng số nguyên  
arr = array.array('i', [1, 2, 3, 4, 5])  

# Đảo ngược mảng  
arr.reverse()  
print("Mảng sau khi đảo ngược:", arr.tolist())  

# Hoán đổi byte của phần tử trong mảng  
arr.byteswap()  
print("Mảng sau khi hoán đổi byte:", arr.tolist())  

Kết quả:

Mảng sau khi đảo ngược: [5, 4, 3, 2, 1]
Mảng sau khi hoán đổi byte: [83886080, 67108864, 50331648, 33554432, 16777216]

iconLưu ý

Kết quả của byteswap() phụ thuộc vào hệ thống và kiểu dữ liệu của phần tử trong mảng. Phương thức này thường được sử dụng khi cần làm việc với dữ liệu từ các nền tảng có thứ tự byte khác nhau.

Chuyển đổi dữ liệu trong mảng

Python cung cấp nhiều phương thức để chuyển đổi dữ liệu trong mảng, bao gồm chuyển đổi giữa mảng và danh sách, mảng và bytes, mảng và file, cũng như mảng và chuỗi Unicode (chỉ áp dụng cho kiểu 'u').

STTPhương thứcMô tả
1frombytes(buffer)Thêm dữ liệu từ một đối tượng bytes vào mảng.
2tobytes()Chuyển đổi mảng thành đối tượng bytes.
3fromfile(f, n)Đọc n phần tử từ file và thêm vào mảng.
4tofile(f)Ghi toàn bộ phần tử của mảng vào file.
5fromlist(list)Chuyển đổi danh sách thành mảng.
6tolist()Chuyển đổi mảng thành danh sách.
7fromunicode(s)Thêm dữ liệu từ chuỗi Unicode vào mảng (chỉ dùng với kiểu 'u').
8tounicode()Chuyển đổi mảng thành chuỗi Unicode (chỉ dùng với kiểu 'u').
Chuyển đổi dữ liệu trong mảng

Chuyển đổi giữa mảng và danh sách

Ví dụ:

import array

# Tạo mảng số nguyên
arr = array.array('i', [10, 20, 30, 40, 50])

# Chuyển đổi mảng thành danh sách
lst = arr.tolist()
print("Danh sách sau khi chuyển đổi:", lst)

# Chuyển đổi danh sách thành mảng
new_arr = array.array('i')
new_arr.fromlist(lst)
print("Mảng sau khi chuyển từ danh sách:", new_arr.tolist())

Kết quả:

Danh sách sau khi chuyển đổi: [10, 20, 30, 40, 50]
Mảng sau khi chuyển từ danh sách: [10, 20, 30, 40, 50]

Chuyển đổi giữa mảng và bytes

Ví dụ:

# Chuyển đổi mảng thành bytes
byte_data = arr.tobytes()
print("Dữ liệu bytes:", byte_data)

# Tạo mảng mới từ dữ liệu bytes
new_arr2 = array.array('i')
new_arr2.frombytes(byte_data)
print("Mảng sau khi chuyển từ bytes:", new_arr2.tolist())

Kết quả:

Dữ liệu bytes: b’\n\x00\x00\x00\x14\x00\x00\x00\x1e\x00\x00\x00(\x00\x00\x002\x00\x00\x00′
Mảng sau khi chuyển từ bytes: [10, 20, 30, 40, 50]

Giải thích:

  • Mảng được chuyển thành chuỗi bytes bằng tobytes().
  • frombytes() giúp khôi phục lại mảng từ chuỗi bytes này.

Chuyển đổi giữa mảng và file

Ví dụ:

# Ghi mảng vào file
with open("array_data.bin", "wb") as f:
    arr.tofile(f)

# Đọc mảng từ file
new_arr3 = array.array('i')
with open("array_data.bin", "rb") as f:
    new_arr3.fromfile(f, len(arr))

print("Mảng sau khi đọc từ file:", new_arr3.tolist())

Kết quả:

Mảng sau khi đọc từ file: [10, 20, 30, 40, 50]

Giải thích:

  • tofile(f): Ghi toàn bộ phần tử của mảng vào file nhị phân.
  • fromfile(f, n): Đọc n phần tử từ file và thêm vào mảng.

Chuyển đổi giữa mảng và chuỗi Unicode

Ví dụ:

# Tạo mảng Unicode
arr_unicode = array.array('u', 'Hello')

# Chuyển đổi mảng thành chuỗi Unicode
unicode_str = arr_unicode.tounicode()
print("Chuỗi Unicode sau khi chuyển:", unicode_str)

# Tạo mảng mới từ chuỗi Unicode
new_arr_unicode = array.array('u')
new_arr_unicode.fromunicode(unicode_str)
print("Mảng sau khi chuyển từ Unicode:", new_arr_unicode.tolist())

Kết quả:

Chuỗi Unicode sau khi chuyển: Hello
Mảng sau khi chuyển từ Unicode: [‘H’, ‘e’, ‘l’, ‘l’, ‘o’]

Vietnix – Dẫn đầu về tốc độ, bảo mật và chất lượng dịch vụ

Vietnix tự hào là nhà cung cấp dịch vụ thuê máy chủ (server), hosting, VPS, domain hàng đầu tại Việt Nam, mang đến giải pháp lưu trữ ổn định, bảo mật cao và tối ưu chi phí cho doanh nghiệp. Với hơn 12 năm kinh nghiệm, Vietnix không ngừng cải tiến dịch vụ, đảm bảo hiệu suất vượt trội và đội ngũ kỹ thuật hỗ trợ 24/7. Hơn 80.000 khách hàng đã tin tưởng lựa chọn Vietnix để nâng tầm hệ thống và bảo vệ dữ liệu quan trọng.

Thông tin liên hệ:

  • Website: https://vietnix.vn/
  • Hotline: 18001093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, TP.HCM

Lời kết

Qua bài viết, bạn đã hiểu được cách làm việc với mảng trong Python, từ việc thêm, xóa, thao tác với phần tử cho đến chuyển đổi dữ liệu. Việc sắp xếp và quản lý mảng hiệu quả không chỉ giúp mã nguồn gọn gàng hơn mà còn nâng cao hiệu suất chương trình. Nếu bạn có bất cứ thắc mắc hay cần hỗ trợ gì, hãy để lại bình luận bên dưới, mình sẽ hỗ trợ nhanh nhất. Cảm ơn bạn đã đọc!

Mọi người cũng xem:

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn