Làm thế nào để bạn sử dụng lệnh del trong python?

Mọi thứ trong Python đều là đối tượng và hầu hết mọi thứ đều có thuộc tính và phương thức. Vì vậy, mục tiêu chính của Python del là xóa các đối tượng trong ngôn ngữ lập trình python. Đối tượng ở đây có thể là biến, danh sách hoặc một phần của danh sách, v.v.

Mỗi 

var = "Python Pool"

del var

print(var)
7 là bất kỳ loại đối tượng Python nào. Thông thường, đây là các biến, nhưng chúng có thể là hàm, mô-đun, lớp

Câu lệnh del hoạt động bằng cách bỏ liên kết tên, xóa tên đó khỏi bộ tên mà trình thông dịch Python biết. Nếu biến này là tham chiếu cuối cùng còn lại của một đối tượng, thì đối tượng đó sẽ bị xóa khỏi bộ nhớ. Mặt khác, nếu các biến khác vẫn tham chiếu đến đối tượng này, đối tượng sẽ không bị xóa

nội dung

Cách xóa hoặc loại bỏ phần tử trong Python

Có 3 cách khác nhau để loại bỏ hoặc xóa các phần tử trong Python

  1. gỡ bỏ
  2. xóa
  3. nhạc pop

Nhưng trong hướng dẫn này, chúng ta sẽ tìm hiểu về hoạt động của Python del

Python del là gì?

Python del thường được sử dụng để xóa biến khỏi không gian tên cục bộ hoặc toàn cục. Điều này được sử dụng để khôi phục bộ nhớ từ dữ liệu không còn cần thiết

Cú pháp của Python del

del obj_name

Ở đây, del là một từ khóa Python. Và obj_name có thể là biến, đối tượng do người dùng xác định, danh sách, mục trong danh sách, từ điển, v.v.

Giá trị trả về của Python del

Câu lệnh del trong Python không trả về bất cứ thứ gì

Điểm chú ý

Câu lệnh del có thể dùng để xóa một mục khỏi danh sách bằng cách tham chiếu đến chỉ mục của nó, thay vì giá trị của nó

Bây giờ, hãy đi thẳng vào các ví dụ và kiểm tra hoạt động của câu lệnh del trong Python

Ví dụ về câu lệnh del Python

Hãy xem một số ví dụ về câu lệnh del và thử xóa một số đối tượng

ví dụ 1. Xóa một biến

var = "Python Pool"

del var

print(var)

đầu ra

  File "c:/Users/Karan/Desktop/test.py", line 5, in <module>
    print(var)
NameError: name 'var' is not defined

Ở đây, đầu ra của ví dụ trên là 'var' không được xác định. Trong ví dụ này, chúng tôi gặp lỗi do toán tử del của Python xóa biến. Và bây giờ không có biến tên var được lưu trữ trong bộ nhớ

ví dụ 2. Xóa mục đầu tiên trong danh sách

list = ["Learn", "Python", "Pool"]

del list[0]

print(list)

đầu ra

['Python', 'Pool']

Giải trình

Trong ví dụ trên, đầu tiên, chúng tôi đã tạo danh sách của mình có tên là danh sách. Danh sách trên chứa ba phần tử ( learn, python, pool ). Sau đó, chúng tôi đã xóa phần tử đầu tiên của danh sách bằng cách sử dụng toán tử del list[0]. Sau đó, chúng tôi đã in danh sách sau khi xóa phần tử đầu tiên của danh sách

ví dụ 3. Xóa mục cuối cùng trong danh sách

list = ["Learn", "Python", "Pool"]

del list[-1]

print(list)

đầu ra

['Learn', 'Python']

Giải trình

Trong ví dụ trên, đầu tiên, chúng tôi đã tạo danh sách của mình có tên là danh sách. Danh sách trên chứa ba phần tử ( learn, python, pool ). Sau đó, chúng tôi đã xóa phần tử cuối cùng của danh sách bằng cách sử dụng toán tử del list[-1]. Sau đó, chúng tôi đã in danh sách sau khi xóa phần tử cuối cùng của danh sách

Ví dụ 4. Xóa đối tượng do người dùng định nghĩa

Chương trình Python để xóa một đối tượng của lớp bằng Python del

________số 8_______

đầu ra

Name:  Karan
Age:  22
Traceback (most recent call last):
  File "c:/Users/Karan/Desktop/test.py", line 19, in <module>
    print("Name: ", std.name)
NameError: name 'std' is not defined

Trong ví dụ trên, chúng tôi đã xóa đối tượng std bằng cách sử dụng del std. Lần đầu tiên, chúng tôi nhận được đầu ra mong muốn. Điều này là do chúng tôi chưa sử dụng từ khóa del. Nhưng sau khi sử dụng del std trong đối tượng của chúng tôi. Chúng tôi gặp lỗi tên do đối tượng bị xóa khỏi bộ nhớ

Ví dụ 5. Xóa tất cả các phần tử trong một phạm vi

# initializing list  
lis = [16, 1, 34, 15, 904, 'Python', 'Pool'] 
  
# using del to delete elements from pos. 2 to 5 
# deletes 34, 15, 904
del lis[2 : 5] 
print(lis)

đầu ra

var = "Python Pool"

del var

print(var)
0

Giải trình

Vì vậy, trong ví dụ này, chúng tôi đã khởi tạo một danh sách có 7 phần tử trong đó. Sau đó, chúng tôi đã xóa các phần tử ở vị trí 2 đến 5. Với sự trợ giúp của việc cắt lát và từ khóa Python del

Ví dụ 6. Chương trình Python để xóa khóa khỏi từ điển

var = "Python Pool"

del var

print(var)
1

đầu ra

var = "Python Pool"

del var

print(var)
2

Trong ví dụ trên, chúng tôi đã loại bỏ một khóa. cặp giá trị từ một từ điển. Chúng tôi có 4 cặp trong từ điển ban đầu. Sau khi xóa khóa từ điển x ta chỉ còn 3 phần tử trong từ điển

Python del. Mẹo bổ sung, điểm cần lưu ý và ví dụ

Bạn không thể xóa các mục của bộ dữ liệu và chuỗi. Đó là bởi vì các bộ dữ liệu và chuỗi là bất biến;

var = "Python Pool"

del var

print(var)
3

Tuy nhiên, bạn có thể xóa toàn bộ bộ hoặc chuỗi

var = "Python Pool"

del var

print(var)
4

Sự khác biệt giữa xóa, Python del và bật trong Python

  • var = "Python Pool"
    
    del var
    
    print(var)
    8 xóa phần tử/đối tượng phù hợp trong khi 
    var = "Python Pool"
    
    del var
    
    print(var)
    9 và 
      File "c:/Users/Karan/Desktop/test.py", line 5, in <module>
        print(var)
    NameError: name 'var' is not defined
    0 xóa phần tử tại một chỉ mục cụ thể
  • var = "Python Pool"
    
    del var
    
    print(var)
    9 và 
      File "c:/Users/Karan/Desktop/test.py", line 5, in <module>
        print(var)
    NameError: name 'var' is not defined
    0 giao dịch với chỉ mục. Điểm khác biệt duy nhất giữa hai giá trị này là- 
      File "c:/Users/Karan/Desktop/test.py", line 5, in <module>
        print(var)
    NameError: name 'var' is not defined
    0 trả về đã xóa giá trị khỏi danh sách và del không trả về bất kỳ giá trị nào
  • Pop là cách duy nhất trả về đối tượng
  • Xóa là cách duy nhất tìm kiếm đối tượng (không phải chỉ mục)

Tóm tắt. Sử dụng del để xóa phần tử theo chỉ mục, pop để xóa phần tử đó theo chỉ mục nếu bạn cần giá trị trả về và remove để xóa phần tử theo giá trị

Ví dụ về xóa, Python del và pop

var = "Python Pool"

del var

print(var)
5

đầu ra

var = "Python Pool"

del var

print(var)
6

Thời gian chạy

Độ phức tạp tính toán (i. e. thời gian chạy hoặc Big-O) như sau

  • del O(n)
  • bật O(1)
  • xóa O(n)

Lưu ý rằng thời gian chạy này là trường hợp xấu nhất. Ví dụ: xóa một phần tử ở đầu danh sách sẽ mất thời gian không đổi

Cách tốt nhất để xóa phần tử trong Danh sách là gì?

  • Nếu bạn muốn xóa một đối tượng cụ thể trong danh sách, hãy sử dụng phương pháp 
      File "c:/Users/Karan/Desktop/test.py", line 5, in <module>
        print(var)
    NameError: name 'var' is not defined
    4
  • Nếu muốn xóa đối tượng tại một vị trí (chỉ mục) cụ thể trong danh sách, bạn có thể sử dụng 
    var = "Python Pool"
    
    del var
    
    print(var)
    9 hoặc 
      File "c:/Users/Karan/Desktop/test.py", line 5, in <module>
        print(var)
    NameError: name 'var' is not defined
    0
  • Sử dụng 
      File "c:/Users/Karan/Desktop/test.py", line 5, in <module>
        print(var)
    NameError: name 'var' is not defined
    0, nếu bạn muốn xóa và lấy đối tượng ở vị trí cụ thể

Sự khác biệt giữa Python del và Gán cho Không

Sự khác biệt là x = Không sẽ giải phóng bất cứ thứ gì mà nó tham chiếu nhưng vẫn giữ nguyên tên mặc dù nó chỉ tham chiếu đến Không (là một loại, Không có Loại)

Mặt khác, del x sẽ xóa hoàn toàn cả tên và nội dung tham chiếu. Nếu sau đó bạn cố gắng sử dụng x, NameError sẽ bị ném ra (hoặc AttributeError trong trường hợp thuộc tính đối tượng)

Vì vậy, trong thực tế, bằng cách gán Không cho một tên, bạn vẫn có thể sử dụng nó trong các biểu thức trong khi sử dụng del thì tên đó bị loại bỏ hoàn toàn. Trong trường hợp đầu tiên, cần một vài byte để giữ tên trong bộ nhớ, trong khi trường hợp sau sẽ xóa hoàn toàn mọi mức sử dụng bộ nhớ

Khi nào tôi nên và không nên sử dụng từ khóa del trong Python?

Sử dụng câu lệnh 'del' khi bạn muốn xóa một mục khỏi danh sách và bạn biết rằng mình sẽ không bao giờ cần tham chiếu lại mục đó

Nếu bạn muốn tiếp tục mục danh sách đã xóa vì bất kỳ lý do gì, hãy sử dụng phương thức 'bật' thay thế

Phải đọc

  • Cách chuyển chuỗi thành chữ thường trong
  • Cách tính căn bậc hai
  • Đầu vào của người dùng. Hàm nhập (). Đầu vào bàn phím
  • Sách học Python hay nhất năm 2020

Phần kết luận

Python del là một từ khóa hữu ích. Cú pháp của nó lúc đầu có thể khó hiểu. Nhưng một khi chúng ta sử dụng del giống như một toán tử hơn, không phải một lệnh gọi phương thức, thì rất dễ nhớ

Việc xóa được định nghĩa đệ quy rất giống với cách xác định phép gán. Thay vì đánh vần nó một cách chi tiết, đây là một số gợi ý. Xóa danh sách mục tiêu sẽ xóa đệ quy từng mục tiêu, từ trái sang phải

Del hoạt động như thế nào trong Python?

Từ khóa del trong python được sử dụng chủ yếu để xóa các đối tượng trong Python . Vì mọi thứ trong python đại diện cho một đối tượng theo cách này hay cách khác, từ khóa del cũng có thể được sử dụng để xóa danh sách, cắt danh sách, xóa từ điển, xóa cặp khóa-giá trị khỏi từ điển, xóa biến, v.v.

Làm cách nào để xóa đối tượng trong Python?

Để xóa một đối tượng trong Python, chúng tôi sử dụng từ khóa 'del' .

Làm cách nào để xóa biến trong Python?

Sử dụng lệnh 'del' là phương pháp được biết đến nhiều nhất và dễ dàng nhất để xóa các biến trong Python. Từ khóa del xóa các đối tượng. Vì mọi thứ trong Python là một đối tượng, do đó, danh sách, bộ dữ liệu và từ điển cũng có thể bị xóa bằng cách sử dụng 'del'. Nó có một cú pháp thực sự đơn giản.

Công dụng của câu lệnh Del là gì?

Câu lệnh del có thể được sử dụng để xóa một mục tại một chỉ mục nhất định. Nó cũng có thể được sử dụng để xóa các lát khỏi danh sách