HomeLập trìnhPythonDanh sách Python...

Danh sách Python .remove() – Cách xóa một mục khỏi danh sách trong Python


Trong bài viết này, bạn sẽ học cách sử dụng tính năng tích hợp sẵn của Python remove() phương pháp liệt kê.

Cuối cùng, bạn sẽ biết cách sử dụng remove() để xóa một mục khỏi danh sách trong Python.

Đây là những gì chúng tôi sẽ đề cập:

  1. Cú pháp của remove() phương pháp
  2. Xóa một phần tử khỏi danh sách bằng cách sử dụng remove()
  3. remove() chỉ xóa lần xuất hiện đầu tiên của một mục
    1. Cách loại bỏ tất cả các lần xuất hiện của một mục

Các remove() Phương pháp – Tổng quan về cú pháp

Các remove() là một trong những cách bạn có thể xóa các phần tử khỏi danh sách trong Python.

Các remove() phương thức xóa một mục khỏi danh sách bằng cách giá trị và không phải bởi số chỉ mục của nó.

Cú pháp chung của remove() phương pháp trông như thế này:

list_name.remove(value)

Hãy chia nhỏ nó ra:

  • list_name là tên của danh sách bạn đang làm việc.
  • remove() là một trong những phương thức danh sách tích hợp sẵn của Python.
  • remove() mất một đĩa đơn cần thiết tranh luận. Nếu bạn không cung cấp điều đó, bạn sẽ nhận được một TypeError – cụ thể bạn sẽ nhận được một TypeError: list.remove() takes exactly one argument (0 given) lỗi.
  • value là giá trị cụ thể của mục mà bạn muốn xóa khỏi list_name.

Các remove() phương thức không trả về giá trị đã bị xóa mà thay vào đó chỉ trả về Nonenghĩa là không có giá trị trả về.

Nếu bạn cần xóa một mục theo số chỉ mục của nó và/hoặc vì lý do nào đó mà bạn muốn trả lại (lưu) giá trị mà bạn đã xóa, hãy sử dụng pop() phương pháp thay thế.

Đọc thêm  Tìm hiểu cách xây dựng bot đầu tiên của bạn trong Telegram bằng Python

Cách xóa phần tử khỏi danh sách bằng cách sử dụng remove() Phương thức trong Python

Để loại bỏ một phần tử khỏi danh sách bằng cách sử dụng remove() phương thức, chỉ định giá trị của phần tử đó và chuyển nó làm đối số cho phương thức.

remove() sẽ tìm kiếm danh sách để tìm nó và loại bỏ nó.

#original list
programming_languages = ["JavaScript", "Python", "Java", "C++"]

#print original list
print(programming_languages)

# remove the value 'JavaScript' from the list
programming_languages.remove("JavaScript")

#print updated list
print(programming_languages)

#output

#['JavaScript', 'Python', 'Java', 'C++']
#['Python', 'Java', 'C++']

Nếu bạn chỉ định một giá trị không có trong danh sách, thì bạn sẽ gặp lỗi – cụ thể lỗi sẽ là ValueError:

programming_languages = ["JavaScript", "Python", "Java", "C++"]

#I want to remove the value 'React'
programming_languages.remove("React")

#print list
print(programming_languages)

#output

# line 5, in <module>
#programming_languages.remove("React")
#ValueError: list.remove(x): x not in list

Để tránh lỗi này xảy ra, trước tiên bạn có thể kiểm tra xem giá trị bạn muốn xóa có nằm trong danh sách ban đầu hay không bằng cách sử dụng in từ khóa.

Nó sẽ trả về một giá trị Boolean – True nếu mặt hàng có trong danh sách hoặc False nếu giá trị không có trong danh sách.

programming_languages = ["JavaScript", "Python", "Java", "C++"]

#check if 'React' is in the 'programming_languages' list
print("React" in programming_languages)

#output
#False

Một cách khác để tránh lỗi này là tạo một điều kiện có nội dung cơ bản là “Nếu giá trị này là một phần của danh sách thì hãy xóa nó. Nếu giá trị này không tồn tại, hãy hiển thị thông báo cho biết giá trị này không có trong danh sách”.

programming_languages = ["JavaScript", "Python", "Java", "C++"]

if "React" in programming_languages:
    programming_languages.remove("React")
else:
    print("This value does not exist")
    
#output
#This value does not exist

Bây giờ, thay vì gặp lỗi Python khi bạn đang cố xóa một giá trị nhất định không tồn tại, bạn sẽ nhận được thông báo trả về cho biết mục bạn muốn xóa không có trong danh sách bạn đang làm việc.

Đọc thêm  không thể nhân chuỗi với kiểu không int float [Solved Python Error]

Các remove() Phương pháp loại bỏ sự xuất hiện đầu tiên của một mục trong danh sách

Một điều cần lưu ý khi sử dụng remove() phương pháp là nó sẽ tìm kiếm và sẽ chỉ loại bỏ đầu tiên trường hợp của một mặt hàng.

Điều này có nghĩa là nếu trong danh sách có nhiều hơn một phiên bản của mục có giá trị mà bạn đã chuyển làm đối số cho phương thức, thì chỉ lần xuất hiện đầu tiên sẽ bị xóa.

Hãy xem ví dụ sau:

programming_languages = ["JavaScript", "Python", "Java", "Python", "C++", "Python"]

programming_languages.remove("Python")

print(programming_languages)

#output
#['JavaScript', 'Java', 'Python', 'C++', 'Python']

Trong ví dụ trên, mục có giá trị là Python xuất hiện ba lần trong danh sách.

Khi nào remove() đã được sử dụng, chỉ phiên bản phù hợp đầu tiên bị xóa – phiên bản theo sau JavaScript giá trị và trước Java giá trị.

Hai lần xuất hiện khác của Python vẫn còn trong danh sách.

Điều gì sẽ xảy ra khi bạn muốn xóa tất cả các lần xuất hiện của một mục?

sử dụng remove() một mình không thực hiện được điều đó và bạn có thể không muốn xóa phiên bản đầu tiên của mục bạn đã chỉ định.

Cách xóa tất cả các trường hợp của một mục trong danh sách bằng Python

Một trong những cách để loại bỏ tất cả các lần xuất hiện của một mục trong danh sách là sử dụng khả năng hiểu danh sách.

Khả năng hiểu danh sách tạo danh sách mới từ danh sách hiện có hoặc tạo danh sách được gọi là danh sách con.

Thao tác này sẽ không sửa đổi danh sách ban đầu của bạn mà thay vào đó sẽ tạo một danh sách mới thỏa mãn điều kiện bạn đã đặt.

#original list
programming_languages = ["JavaScript", "Python", "Java", "Python", "C++", "Python"]

#sublist created with list comprehension
programming_languages_updated = [value for value in programming_languages if value != "Python"]


#print original list
print(programming_languages)

#print  new sublist that doesn't contain 'Python'
print(programming_languages_updated)

#output

#['JavaScript', 'Python', 'Java', 'Python', 'C++', 'Python']
#['JavaScript', 'Java', 'C++']

Trong ví dụ trên, có bản gốc programming_languages danh sách.

Đọc thêm  Trình trang trí Python – Cách tạo và sử dụng Trình trang trí trong Python với các ví dụ

Sau đó, một danh sách mới (hoặc danh sách con) được trả về.

Các mục có trong danh sách phụ phải đáp ứng một điều kiện. Điều kiện là nếu một mục trong danh sách ban đầu có giá trị là Pythonnó sẽ không phải là một phần của danh sách phụ.

Bây giờ, nếu bạn không muốn tạo danh sách mới mà thay vào đó muốn sửa đổi danh sách đã có tại chỗsau đó sử dụng phép gán lát cắt kết hợp với khả năng hiểu danh sách.

Với phép gán lát, bạn có thể sửa đổi và thay thế một số phần (hoặc lát) nhất định của danh sách.

Để thay thế toàn bộ danh sách, hãy sử dụng [:] cú pháp cắt, cùng với khả năng hiểu danh sách.

Việc hiểu danh sách đặt điều kiện là bất kỳ mục nào có giá trị là Python sẽ không còn là một phần của danh sách.

programming_languages = ["JavaScript", "Python", "Java", "Python", "C++", "Python"]

programming_languages[:] = (value for value in programming_languages if value != "Python")

print(programming_languages)

#output

#['JavaScript', 'Java', 'C++']

Phần kết luận

Và bạn có nó rồi đấy! Bây giờ bạn đã biết cách xóa một mục danh sách trong Python bằng cách sử dụng remove() phương pháp. Bạn cũng đã thấy một số cách loại bỏ tất cả các lần xuất hiện của một mục trong danh sách bằng Python.

Tôi hy vọng bạn tìm thấy bài viết này hữu ích.

Để tìm hiểu thêm về ngôn ngữ lập trình Python, hãy xem Chứng chỉ Máy tính Khoa học với Python của freeCodeCamp.

Bạn sẽ bắt đầu từ những điều cơ bản và học theo cách tương tác và thân thiện với người mới bắt đầu. Cuối cùng, bạn cũng sẽ xây dựng năm dự án để đưa vào thực tế và giúp củng cố những gì bạn đã học được.

Cảm ơn bạn đã đọc và viết mã vui vẻ 😊!



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status