Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?

remove(), pop() và del đều có thể được sử dụng để xóa các mục khỏi danh sách trong Python. Tuy nhiên, có một số khác biệt cơ bản giữa ba chức năng này liên quan đến cách chúng hoạt động, chế độ lỗi và độ phức tạp tính toán.

Chúng ta hãy cố gắng hiểu sự khác biệt giữa ba và khi nào nên sử dụng chúng

di dời()

Phương thức list.remove(element) xóa lần xuất hiện đầu tiên của 

li = [3, 5, 7, 2, 6, 4, 8, 2]
li.remove(82)
print(li)

# ValueError: list.remove(x): x not in list
0 khỏi một 
li = [3, 5, 7, 2, 6, 4, 8, 2]
li.remove(82)
print(li)

# ValueError: list.remove(x): x not in list
1 hiện có. Tuy nhiên, nó không loại bỏ tất cả các lần xuất hiện của phần tử trong danh sách

cú pháp.

li = [3, 5, 7, 2, 6, 4, 8, 2]
li.remove(82)
print(li)

# ValueError: list.remove(x): x not in list
2
⦾ trong đó, danh sách là tên danh sách của bạn
⦾ giá trị là phần tử phải loại bỏ

Thí dụ. Trong danh sách dưới đây, phần tử 2 bị xóa khỏi danh sách. Nhưng sự xuất hiện khác của 2 vẫn còn

li = [3, 5, 7, 2, 6, 4, 8, 2]
li.remove(2)
print(li)

# [3, 5, 7, 6, 4, 8, 2]
  • li = [3, 5, 7, 2, 6, 4, 8, 2]
    li.remove(82)
    print(li)
    
    # ValueError: list.remove(x): x not in list
    3 hoạt động dựa trên giá trị của phần tử danh sách chứ không phải chỉ mục
  • li = [3, 5, 7, 2, 6, 4, 8, 2]
    li.remove(82)
    print(li)
    
    # ValueError: list.remove(x): x not in list
    3 là một phương thức của danh sách lớp
  • Phương pháp
    li = [3, 5, 7, 2, 6, 4, 8, 2]
    li.remove(82)
    print(li)
    
    # ValueError: list.remove(x): x not in list
    3 không trả về bất cứ thứ gì

Nếu bạn chỉ định một giá trị không có trong danh sách, Python sẽ tăng Lỗi giá trị .

li = [3, 5, 7, 2, 6, 4, 8, 2]
li.remove(82)
print(li)

# ValueError: list.remove(x): x not in list

Phân tích độ phức tạp. Độ phức tạp tính toán khi loại bỏ một phần tử x khỏi danh sách n phần tử bằng phương thức remove() là O(n)

Trường hợp 1. Để xóa phần tử đầu tiên khỏi danh sách 10000 phần tử bằng cách sử dụng remove()

Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?

Lưu ý rằng_______0_______6  tạo danh sách có các số

li = [3, 5, 7, 2, 6, 4, 8, 2]
li.remove(82)
print(li)

# ValueError: list.remove(x): x not in list
7 đại loại như
li = [3, 5, 7, 2, 6, 4, 8, 2]
li.remove(82)
print(li)

# ValueError: list.remove(x): x not in list
8

Trường hợp 2. Để xóa một phần tử ‘

li = [3, 5, 7, 2, 6, 4, 8, 2]
li.remove(82)
print(li)

# ValueError: list.remove(x): x not in list
9‘ khỏi danh sách 10000 phần tử bằng cách sử dụng remove()

Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?

trường hợp 3. Để xóa phần tử cuối cùng khỏi danh sách 100 phần tử bằng cách sử dụng remove()

Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?

nhạc pop()

Phương thức 

li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop())

# 8
0 xóa và trả về phần tử cuối cùng từ một 
li = [3, 5, 7, 2, 6, 4, 8, 2]
li.remove(82)
print(li)

# ValueError: list.remove(x): x not in list
1 hiện có. Phương thức 
li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop())

# 8
2 với đối số tùy chọn 
li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop())

# 8
3 loại bỏ và trả về phần tử ở vị trí
li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop())

# 8
3

cú pháp.

li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop())

# 8
5
⦾ trong đó, danh sách là tên danh sách của bạn
⦾ index là chỉ số của phần tử cần xóa. Nếu chỉ mục không được chỉ định, theo mặc định, -1 được truyền cho phương thức (i. e phần tử cuối cùng bị xóa khỏi danh sách)

ví dụ 1. Giả sử chúng ta không chuyển bất kỳ giá trị nào cho

li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop())

# 8
6, phần tử cuối cùng trong danh sách sẽ bị xóa

li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop())

# 8

Lưu ý rằng giá trị đã xóa được trả về khi bạn gọi phương thức

li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop())

# 8
6

ví dụ 2. Giả sử, chúng ta truyền một giá trị cho phương thức

li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop())

# 8
6, phần tử nằm trong chỉ mục đó sẽ bị xóa

li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop(2))

# 7
  • li = [3, 5, 7, 2, 6, 4, 8]
    print(li.pop())
    
    # 8
    6 hành động theo chỉ số của một phần tử
  • li = [3, 5, 7, 2, 6, 4, 8]
    print(li.pop())
    
    # 8
    6là một phương thức của danh sách lớp
  • Phương thức
    li = [3, 5, 7, 2, 6, 4, 8]
    print(li.pop())
    
    # 8
    6 trả về phần tử đã bị xóa
  • Nếu bạn chỉ định một giá trị không có trong danh sách, Python sẽ tăng IndexError
li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop(8))

# IndexError: pop index out of range

Phân tích độ phức tạp. Độ phức tạp tính toán khi loại bỏ một

li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop(2))

# 7
2khỏi
li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop(2))

# 7
3 sử dụng phương pháp
li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop())

# 8
6 là O(n-i)

Trường hợp 1. Để xóa phần tử đầu tiên khỏi danh sách 10000 phần tử bằng cách sử dụng pop()

Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?

Trường hợp 2. Để xóa một phần tử ở chỉ mục thứ 4900 (phần tử thứ 5000, hãy tham khảo ví dụ về độ phức tạp về thời gian của remove()) khỏi danh sách 10000 phần tử bằng cách sử dụng pop()

Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?

trường hợp 3. Để xóa phần tử cuối cùng khỏi danh sách 10000 phần tử bằng cách sử dụng pop()

Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?

xóa

Đây là một câu lệnh đơn giản trong Python có thể được sử dụng để xóa một phần tử trong đối tượng lớp hoặc một phần của đối tượng lớp hoặc chính đối tượng lớp đó. Vì danh sách là một lớp nên bất kỳ danh sách nào chúng ta tạo (ví dụ:

li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop(2))

# 7
5) đều trở thành đối tượng của danh sách lớp này. Do đó, del có thể được sử dụng trên đối tượng này. Nói một cách đơn giản, từ khóa del có thể được sử dụng để xóa một mục khỏi danh sách hoặc một phần của danh sách hoặc toàn bộ danh sách

cú pháp. del

li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop(2))

# 7
6
⦾ trong đó, target_list có thể là một thành phần của danh sách hoặc một phần của danh sách hoặc toàn bộ danh sách

ví dụ 1. Để xóa một phần tử trong danh sách

li = [3, 5, 7, 2, 6, 4, 8]
del li[0]
print(li)

# [5, 7, 2, 6, 4, 8]

ví dụ 2. Để xóa một phần của danh sách

li = [3, 5, 7, 2, 6, 4, 8]
del li[2:]
print(li)

# [3, 5]

ví dụ 3. Để xóa toàn bộ danh sách

li = [3, 5, 7, 2, 6, 4, 8]
del li
print(li)

# NameError: name 'li' is not defined

Lưu ý rằng danh sách lst đã bị xóa và khi chúng tôi gọi thì đã xảy ra lỗi

  • li = [3, 5, 7, 2, 6, 4, 8]
    print(li.pop(2))
    
    # 7
    7 hành động dựa trên chỉ số của một phần tử
  • li = [3, 5, 7, 2, 6, 4, 8]
    print(li.pop(2))
    
    # 7
    7 là một từ khóa có thể được sử dụng trên bất kỳ đối tượng lớp nào như danh sách, từ điển, bộ dữ liệu, v.v.
  • li = [3, 5, 7, 2, 6, 4, 8]
    print(li.pop(2))
    
    # 7
    7 không trả lại bất cứ thứ gì
  • Nếu bạn chỉ định một tên danh sách sai hoặc tên danh sách đã bị xóa, nó sẽ tăng
    li = [3, 5, 7, 2, 6, 4, 8]
    print(li.pop(8))
    
    # IndexError: pop index out of range
    0

Nếu bạn chỉ định một phần tử có chỉ số sai, Python sẽ tăng

li = [3, 5, 7, 2, 6, 4, 8]
print(li.pop(8))

# IndexError: pop index out of range
1

li = [3, 5, 7, 2, 6, 4, 8]
del li[8]
print(li)

# IndexError: list assignment index out of range

Độ phức tạp tính toán khi loại bỏ một phần tử trong chỉ số i ra khỏi danh sách n phần tử bằng cách sử dụng del là O(n-i)

Trường hợp 1. Để xóa phần tử đầu tiên khỏi danh sách 10000 phần tử bằng cách sử dụng del

Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?

Trường hợp 2. Để xóa một phần tử ở chỉ mục thứ 4900 (phần tử thứ 5000, hãy tham khảo ví dụ về độ phức tạp thời gian của

li = [3, 5, 7, 2, 6, 4, 8, 2]
li.remove(82)
print(li)

# ValueError: list.remove(x): x not in list
3) khỏi danh sách 10000 phần tử bằng cách sử dụng del

Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?

trường hợp 3. Để xóa phần tử cuối cùng khỏi danh sách 10000 phần tử bằng cách sử dụng del

Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?

Bản tóm tắt

Chúng tôi hy vọng bài viết này đã cung cấp một số thông tin chi tiết về cách thức hoạt động của ba phương pháp và thời điểm sử dụng từng phương pháp. Đây là một bản tóm tắt nhanh chóng

  • Khi bạn muốn xóa một phần tử của danh sách dựa trên giá trị của nó, hãy sử dụng
    li = [3, 5, 7, 2, 6, 4, 8, 2]
    li.remove(82)
    print(li)
    
    # ValueError: list.remove(x): x not in list
    3
  • Khi bạn muốn xóa toàn bộ danh sách hoặc một phần danh sách, hãy sử dụng
    li = [3, 5, 7, 2, 6, 4, 8]
    print(li.pop(2))
    
    # 7
    7
  • Khi bạn muốn xóa một phần tử của danh sách dựa trên chỉ mục của nó
  • sử dụng
    li = [3, 5, 7, 2, 6, 4, 8]
    print(li.pop())
    
    # 8
    6 để xóa một giá trị nằm ở đâu đó ở cuối danh sách
  • sử dụng
    li = [3, 5, 7, 2, 6, 4, 8]
    print(li.pop())
    
    # 8
    6 hoặc del cho các trường hợp khác

Để biết thêm hướng dẫn và thảo luận, vui lòng đăng ký và theo dõi. Cảm ơn bạn đã đọc. học tập vui vẻ. ?


Học viện Khoa học Máy tính Finxter

  • Một trong những kỹ năng được tìm kiếm nhiều nhất trên Fiverr và Upwork là tìm kiếm trang web. Không phạm lỗi. trích xuất dữ liệu theo chương trình từ các trang web là một kỹ năng sống quan trọng trong thế giới ngày nay được định hình bởi web và công việc từ xa
  • Vì vậy, bạn có muốn thành thạo nghệ thuật quét web bằng BeautifulSoup của Python không?
  • Nếu câu trả lời là có – khóa học này sẽ đưa bạn từ người mới bắt đầu đến chuyên gia về Quét web

Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?
Tham gia Web Scraping với BeautifulSoup Masterclass ngay bây giờ và thành thạo nó vào ngày mai

Sự khác biệt giữa remove() del và pop() trong danh sách python là gì?

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

Sự khác biệt giữa xóa del và bật trong 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

Phương thức remove() khác với phương thức pop() như thế nào?

Các phần tử mảng có thể được gỡ bỏ bằng phương thức pop() hoặc remove(). Sự khác biệt giữa hai hàm này là hàm trước trả về giá trị đã xóa trong khi hàm sau thì không .