Xóa python khỏi danh sách

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

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
5, nghĩ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 phương pháp

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
6 thay thế

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

Để xóa một phần tử khỏi danh sách bằng phương thức remove(), hãy 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 và xóa 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à

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

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

#output
#False
0

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 từ khóa

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

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

#output
#False
1

Nó sẽ trả về một giá trị Boolean –

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

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

#output
#False
2 nếu mục có trong danh sách hoặc
programming_languages = ["JavaScript", "Python", "Java", "C++"]

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

#output
#False
3 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 nó không tồn tại, thì hiển thị thông báo cho biết nó 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.

Phương pháp remove() 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 phương pháp remove() là nó sẽ tìm kiếm và sẽ chỉ loại bỏ phiên bản đầu tiên của một mục

Đ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ị

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

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

#output
#False
6 xuất hiện ba lần trong danh sách

Khi sử dụng remove(), chỉ phiên bản khớp đầu tiên bị xóa – phiên bản theo sau giá trị

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

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

#output
#False
8 và đứng trước giá trị
programming_languages = ["JavaScript", "Python", "Java", "C++"]

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

#output
#False
9

Hai lần xuất hiện khác của

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

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

#output
#False
6 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?

Chỉ sử dụng remove() không thực hiện được điều đó và bạn có thể không muốn chỉ 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 phụ

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ó 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
2 ban đầu

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

Các mục chứa trong danh sách con 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à

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

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

#output
#False
6, thì nó sẽ không thuộc 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 tại chỗ danh sách đã tồn tại, thì hãy 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 lát

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
4, cùng với khả năng hiểu danh sách

Khả năng hiểu danh sách đặt điều kiện là bất kỳ mục nào có giá trị

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

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

#output
#False
6 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ục danh sách trong Python bằng phương pháp remove(). 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ảm ơn vì đã đọc và viết mã vui vẻ 😊

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Xóa python khỏi danh sách
Dionysia Lemonaki

Học một cái gì đó mới mỗi ngày và viết về nó


Nếu bài viết này hữu ích, hãy tweet nó

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu