Xóa chức năng trong Python

Phương thức tìm kiếm phiên bản đầu tiên của mục đã cho và xóa nó. Nếu không tìm thấy mục được chỉ định, nó sẽ tăng ngoại lệ 'ValueError'

cú pháp

danh sách. xóa [ mục ]

Danh sách Python remove[] tham số phương thức Tham sốĐiều kiệnMô tảmụcBắt buộcBất kỳ mục nào bạn muốn xóa

Xóa một mục

# Remove 'green'
L = ['red', 'green', 'blue']
L.remove['green']
print[L]
# Prints ['red', 'blue']

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']

Phương pháp

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9 xóa mục dựa trên giá trị được chỉ định chứ không phải theo chỉ mục. Nếu bạn muốn xóa các mục danh sách dựa trên chỉ mục, hãy sử dụng phương thức pop[] hoặc từ khóa del

Xóa các mục trùng lặp

Phương pháp

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9 tìm kiếm phiên bản đầu tiên của mục đã cho và loại bỏ nó

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']

Nếu bạn muốn xóa nhiều phiên bản của một mục trong danh sách, hãy sử dụng tính năng hiểu danh sách hoặc biểu thức lambda

# list comprehension
L = ['red', 'green', 'blue', 'red', 'red']
L = [x for x in L if x is not 'red']
print[L]
# Prints ['green', 'blue']

# lambda expression
L = ['red', 'green', 'blue', 'red', 'red']
L = list[filter[lambda x: x is not 'red', L]]
print[L]
# Prints ['green', 'blue']

Xóa mục không tồn tại

Phương thức

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9 đưa ra một ngoại lệ ValueError, nếu mục được chỉ định không tồn tại trong danh sách

L = ['red', 'green', 'blue']
L.remove['yellow']
# Triggers ValueError: list.remove[x]: x not in list

Để tránh ngoại lệ như vậy, bạn có thể kiểm tra xem mục có tồn tại trong danh sách hay không, sử dụng toán tử in bên trong câu lệnh if

Phương thức danh sách Python remove[] tìm kiếm phần tử đã cho trong danh sách và xóa phần tử khớp đầu tiên

cú pháp

Sau đây là cú pháp của phương thức remove[] -

list.remove[obj]

Thông số

  • obj − Đây là đối tượng cần xóa khỏi danh sách

Giá trị trả về

Phương thức danh sách Python này không trả về bất kỳ giá trị nào nhưng xóa đối tượng đã cho khỏi danh sách

Thí dụ

Ví dụ sau minh họa cách sử dụng phương thức remove[]

#!/usr/bin/python

aList = [123, 'xyz', 'zara', 'abc', 'xyz'];
aList.remove['xyz'];
print "List : ", aList
aList.remove['abc'];
print "List : ", aList

Khi chúng tôi chạy chương trình trên, nó tạo ra kết quả sau -

List :  [123, 'zara', 'abc', 'xyz']
List :  [123, 'zara', 'xyz']

Phương thức

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9 không trả về giá trị đã bị xóa mà 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 
#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 thức

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 
#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
L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9 trong Python

Để xóa một phần tử khỏi danh sách bằng phương thức

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9, hãy chỉ định giá trị của phần tử đó và chuyển nó làm đối số cho phương thức

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9 sẽ tìm kiếm danh sách để tìm và xóa nó

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
0

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à

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
10

________số 8

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

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
11

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

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
12 nếu mục có trong danh sách hoặc
# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
13 nếu giá trị không có trong danh sách

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
1

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"

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
7

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
L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9 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

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9 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

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
8

Trong ví dụ trên, mục có giá trị

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
16 xuất hiện ba lần trong danh sách

Khi sử dụng

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9, chỉ phiên bản khớp đầu tiên bị xóa – phiên bản theo sau giá trị
# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
18 và đứng trước giá trị
# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
19

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

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
16 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

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9 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 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

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
3

Trong ví dụ trên, có danh sách

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
72 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à

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
16, 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

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
74, 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ị

# Remove item from the nested list
L = ['red', 'green', [1, 2, 3]]
L.remove[[1, 2, 3]]
print[L]
# Prints ['red', 'green']
16 sẽ không còn là một phần của danh sách

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
8

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 phương pháp

L = ['red', 'green', 'blue', 'red', 'red']
L.remove['red']
print[L]
# Prints ['green', 'blue', 'red', 'red']
9. 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

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

Chức năng xóa trong Python là gì?

Từ khóa del được dùng để xóa đối tượng . Trong Python, mọi thứ đều là một đối tượng, do đó, từ khóa del cũng có thể được sử dụng để xóa các biến, danh sách hoặc một phần của danh sách, v.v.

Có một phương pháp loại bỏ trong Python?

Phương thức remove[] - Tổng quan về cú pháp . Phương thức remove[] xóa một mục khỏi danh sách theo giá trị của nó chứ không phải theo số chỉ mục của nó. The remove[] method is one of the ways you can remove elements from a list in Python. The remove[] method removes an item from a list by its value and not by its index number.

Sự khác biệt giữa remove[] và Del[] trong danh sách Python là gì?

Hàm remove[] xóa giá trị khớp đầu tiên khỏi danh sách. Hàm pop[] được sử dụng để trả về phần tử đã bị xóa khỏi danh sách. Hàm del[] được sử dụng để xóa một phần tử tại một số chỉ mục được chỉ định trong danh sách

Chủ Đề