Khóa học python

Xoá phần tử của Array trong Python

0 phút đọc

Array là một cấu trúc dữ liệu phổ biến trong lập trình, cho phép lưu trữ nhiều giá trị trong một biến duy nhất. Trong Python, array có thể được tạo ra bằng cách sử dụng module array hoặc thư viện numpy. Việc xoá phần tử khỏi array là một thao tác cơ bản nhưng rất quan trọng. Bài viết này sẽ hướng dẫn chi tiết cách xoá phần tử khỏi array trong Python, bao gồm các phương pháp như remove(), pop(), del, và numpy.delete(). Chúng ta cũng sẽ xem xét các ví dụ cụ thể để minh họa cách sử dụng từng phương pháp.

Sử dụng phương thức remove()

Phương thức remove() được sử dụng để xoá một phần tử cụ thể khỏi array. Phương thức này tìm và xoá phần tử đầu tiên có giá trị khớp với giá trị được chỉ định.

Cú pháp

python Copy
array.remove(value)
  • array: Array mà bạn muốn xoá phần tử.
  • value: Giá trị của phần tử mà bạn muốn xoá khỏi array.

Ví dụ

python Copy
import array as arr

# Tạo một array các số nguyên
numbers = arr.array('i', [1, 2, 3, 4, 5])

# Xoá phần tử có giá trị 3
numbers.remove(3)

# In array sau khi xoá phần tử
print(numbers)

Kết quả:

Copy
array('i', [1, 2, 4, 5])

Trong ví dụ trên, phần tử có giá trị 3 được xoá khỏi array numbers.

Sử dụng phương thức pop()

Phương thức pop() được sử dụng để xoá và trả về một phần tử tại vị trí chỉ định trong array. Nếu không chỉ định vị trí, phương thức này sẽ xoá và trả về phần tử cuối cùng.

Cú pháp

python Copy
array.pop([index])
  • array: Array mà bạn muốn xoá phần tử.
  • index: (Tùy chọn) Vị trí của phần tử mà bạn muốn xoá. Nếu không chỉ định, phần tử cuối cùng sẽ bị xoá.

Ví dụ

python Copy
import array as arr

# Tạo một array các số nguyên
numbers = arr.array('i', [1, 2, 3, 4, 5])

# Xoá và trả về phần tử tại vị trí 2
removed_element = numbers.pop(2)

# In phần tử đã xoá và array sau khi xoá phần tử
print("Removed element:", removed_element)
print("Updated array:", numbers)

Kết quả:

Copy
Removed element: 3
Updated array: array('i', [1, 2, 4, 5])

Trong ví dụ trên, phần tử tại vị trí 2 (giá trị 3) được xoá khỏi array numbers.

Sử dụng từ khoá del

Từ khoá del được sử dụng để xoá một phần tử tại vị trí chỉ định trong array hoặc xoá toàn bộ array.

Cú pháp

python Copy
del array[index]
  • array: Array mà bạn muốn xoá phần tử.
  • index: Vị trí của phần tử mà bạn muốn xoá.

Ví dụ

python Copy
import array as arr

# Tạo một array các số nguyên
numbers = arr.array('i', [1, 2, 3, 4, 5])

# Xoá phần tử tại vị trí 1
del numbers[1]

# In array sau khi xoá phần tử
print(numbers)

Kết quả:

Copy
array('i', [1, 3, 4, 5])

Trong ví dụ trên, phần tử tại vị trí 1 (giá trị 2) được xoá khỏi array numbers.

Sử dụng phương thức numpy.delete()

Thư viện numpy cung cấp phương thức numpy.delete() để xoá các phần tử khỏi array. Phương thức này có thể xoá các phần tử tại các vị trí chỉ định hoặc theo điều kiện.

Cú pháp

python Copy
numpy.delete(array, obj, axis=None)
  • array: Array mà bạn muốn xoá phần tử.
  • obj: Chỉ số hoặc mảng các chỉ số của các phần tử cần xoá.
  • axis: (Tùy chọn) Trục dọc theo đó các phần tử sẽ bị xoá. Nếu không chỉ định, array sẽ được làm phẳng trước khi xoá.

Ví dụ

python Copy
import numpy as np

# Tạo một array numpy các số nguyên
numbers = np.array([1, 2, 3, 4, 5])

# Xoá phần tử tại vị trí 2
new_numbers = np.delete(numbers, 2)

# In array sau khi xoá phần tử
print(new_numbers)

Kết quả:

Copy
[1 2 4 5]

Trong ví dụ trên, phần tử tại vị trí 2 (giá trị 3) được xoá khỏi array numbers.

Sử dụng phương thức clear()

Phương thức clear() được sử dụng để xoá tất cả các phần tử khỏi array, làm cho array trở nên rỗng.

Cú pháp

python Copy
array.clear()
  • array: Array mà bạn muốn xoá tất cả các phần tử.

Ví dụ

python Copy
import array as arr

# Tạo một array các số nguyên
numbers = arr.array('i', [1, 2, 3, 4, 5])

# Xoá tất cả các phần tử khỏi array
numbers.clear()

# In array sau khi xoá tất cả các phần tử
print(numbers)

Kết quả:

Copy
array('i')

Trong ví dụ trên, tất cả các phần tử trong array numbers được xoá, làm cho array trở nên rỗng.

Sử dụng Slicing

Slicing là một kỹ thuật cho phép bạn trích xuất một phần của array bằng cách chỉ định các chỉ số bắt đầu và kết thúc. Bạn có thể sử dụng slicing để tạo một array mới mà không bao gồm các phần tử cần xoá.

Cú pháp

python Copy
new_array = array[start:end]
  • array: Array mà bạn muốn trích xuất phần tử.
  • start: Chỉ số bắt đầu (bao gồm).
  • end: Chỉ số kết thúc (không bao gồm).

Ví dụ

python Copy
import array as arr

# Tạo một array các số nguyên
numbers = arr.array('i', [1, 2, 3, 4, 5])

# Sử dụng slicing để xoá phần tử tại vị trí 2
new_numbers = numbers[:2] + numbers[3:]

# In array sau khi xoá phần tử
print(new_numbers)

Kết quả:

Copy
array('i', [1, 2, 4, 5])

Trong ví dụ trên, phần tử tại vị trí 2 (giá trị 3) được xoá khỏi array numbers bằng cách sử dụng slicing.

Sử dụng List Comprehension

List comprehension là một cách ngắn gọn và hiệu quả để tạo ra một array mới bằng cách lặp qua các phần tử của array hiện có và chỉ bao gồm các phần tử không cần xoá.

Cú pháp

python Copy
new_array = [element for element in array if condition]
  • array: Array mà bạn muốn lặp qua.
  • condition: Điều kiện để bao gồm phần tử trong array mới.

Ví dụ

python Copy
import array as arr

# Tạo một array các số nguyên
numbers = arr.array('i', [1, 2, 3, 4, 5])

# Sử dụng list comprehension để xoá phần tử có giá trị 3
new_numbers = arr.array('i', [x for x in numbers if x != 3])

# In array sau khi xoá phần tử
print(new_numbers)

Kết quả:

Copy
array('i', [1, 2, 4, 5])

Trong ví dụ trên, phần tử có giá trị 3 được xoá khỏi array numbers bằng cách sử dụng list comprehension.

So sánh các phương pháp xoá phần tử khỏi Array

So sánh remove()pop()

  • remove(): Xoá phần tử đầu tiên có giá trị khớp với giá trị được chỉ định. Nếu phần tử không tồn tại, ném ra lỗi ValueError.
  • pop(): Xoá và trả về phần tử tại vị trí chỉ định. Nếu không chỉ định vị trí, xoá và trả về phần tử cuối cùng. Nếu array rỗng, ném ra lỗi IndexError.

So sánh delnumpy.delete()

  • del: Xoá phần tử tại vị trí chỉ định hoặc xoá toàn bộ array. Thay đổi array tại chỗ.
  • numpy.delete(): Xoá các phần tử tại các vị trí chỉ định hoặc theo điều kiện. Trả về một array mới mà không thay đổi array gốc.

So sánh clear() và Slicing

  • clear(): Xoá tất cả các phần tử khỏi array, làm cho array trở nên rỗng.
  • Slicing: Tạo một array mới mà không bao gồm các phần tử cần xoá. Không thay đổi array gốc.

So sánh List Comprehension và các phương pháp khác

  • List Comprehension: Tạo một array mới bằng cách lặp qua các phần tử của array hiện có và chỉ bao gồm các phần tử không cần xoá. Không thay đổi array gốc.

Kết luận

Trong Python, có nhiều cách để xoá phần tử khỏi array, mỗi cách có ưu điểm và nhược điểm riêng. Phương pháp remove()pop() rất hữu ích khi bạn cần xoá một phần tử cụ thể. Từ khoá del và phương thức numpy.delete() cung cấp các cách tiếp cận linh hoạt và mạnh mẽ hơn để xử lý các array phức tạp. Phương thức clear() và slicing cung cấp các cách tiếp cận khác nhau để xoá tất cả các phần tử hoặc một phần của array. Cuối cùng, list comprehension cung cấp một cách tiếp cận ngắn gọn và hiệu quả để tạo ra một array mới mà không bao gồm các phần tử cần xoá.

Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách xoá phần tử khỏi array trong Python và cách sử dụng các phương pháp khác nhau để đạt được mục tiêu của bạn.

Avatar
Được viết bởi

Admin Team

Gợi ý câu hỏi phỏng vấn

Không có dữ liệu

Không có dữ liệu

Gợi ý bài viết
Không có dữ liệu

Không có dữ liệu

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào