Hướng dẫn how does del work in python - del hoạt động như thế nào trong python

Từ khóa Python


my_var = 5
my_tuple = ('Sam', 25)
my_dict = {'name': 'Sam', 'age': 25}

del my_var
del my_tuple
del my_dict

# Error: my_var is not defined
print(my_var)

# Error: my_tuple is not defined
print(my_tuple)

# Error: my_dict is not defined
print(my_dict)
4 được sử dụng để xóa các đối tượng. Cú pháp của nó là:

Show
# delete obj_name
del obj_name

Ở đây, obj_name có thể là các 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.


Ví dụ 1: Xóa đối tượng do người dùng xác định


class MyClass:
    a = 10
    def func(self):
        print('Hello')

# Output: 
print(MyClass)

# deleting MyClass
del MyClass

# Error: MyClass is not defined
print(MyClass)	

Trong chương trình, chúng tôi đã xóa MyClass bằng cách sử dụng câu lệnh DEL MyClass.


Ví dụ 2: Xóa biến, danh sách và từ điển


my_var = 5
my_tuple = ('Sam', 25)
my_dict = {'name': 'Sam', 'age': 25}

del my_var
del my_tuple
del my_dict

# Error: my_var is not defined
print(my_var)

# Error: my_tuple is not defined
print(my_tuple)

# Error: my_dict is not defined
print(my_dict)

Ví dụ 3: Xóa các mục, lát cắt khỏi danh sách

Câu lệnh


my_var = 5
my_tuple = ('Sam', 25)
my_dict = {'name': 'Sam', 'age': 25}

del my_var
del my_tuple
del my_dict

# Error: my_var is not defined
print(my_var)

# Error: my_tuple is not defined
print(my_tuple)

# Error: my_dict is not defined
print(my_dict)
4 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 để loại bỏ các lát từ một danh sách.

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# deleting the third item
del my_list[2]

# Output: [1, 2, 4, 5, 6, 7, 8, 9]
print(my_list)

# deleting items from 2nd to 4th
del my_list[1:4]

# Output: [1, 6, 7, 8, 9]
print(my_list)

# deleting all elements
del my_list[:]

# Output: []
print(my_list)

Ví dụ 4: Xóa một khóa: cặp giá trị khỏi từ điển

person = { 'name': 'Sam',
  'age': 25,
  'profession': 'Programmer'
}

del person['profession']

# Output: {'name': 'Sam', 'age': 25}
print(person)

del với bộ dữ liệu và dây

Lưu ý: Bạn không thể xóa các mục của bộ dữ liệu và chuỗi trong Python. Đó là bởi vì bộ dữ liệu và chuỗi là bất biến; các đối tượng không thể thay đổi sau khi tạo ra của chúng. You can't delete items of tuples and strings in Python. It's because tuples and strings are immutables; objects that can't be changed after their creation.

my_tuple = (1, 2, 3)

# Error: 'tuple' object doesn't support item deletion
del my_tuple[1]

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


my_tuple = (1, 2, 3)

# deleting tuple
del my_tuple

Tất cả mọi thứ trong & nbsp; Python & nbsp; là một đố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. Ở đây đối tượng có thể là các biến, danh sách hoặc các phần của danh sách, v.v.variables, lists, or parts of a list etc.

Mỗi & nbsp; ____ ____ 26 & nbsp; là bất kỳ loại đối tượng python nào. Thông thường, đây là những biến, nhưng chúng có thể là hàm, mô -đun, lớp.

Câu lệnh & nbsp; del & nbsp; hoạt động bởi & nbsp; unchinding & nbsp; tên, xóa nó khỏi tập hợp các tên được biết đến với trình thông dịch Python. Nếu biến này là tham chiếu cuối cùng còn lại đến một đối tượng, đố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 đề cập đến đối tượng này, đối tượng won won sẽ bị xóa.del statement works by unbinding the name, removing it from the set of names known to the Python interpreter. If this variable was the last remaining reference to an object, the object will be removed from memory. If, on the other hand, other variables still refer to this object, the object won’t be deleted.

  • Cách xóa hoặc xóa phần tử trong Python
  • Python del là gì?
  • Cú pháp của Python del
  • Trả về giá trị của python del
  • Điểm chú ý
  • Python del ví dụ tuyên bố
  • Ví dụ 1: Xóa một biến
  • Ví dụ 2: Xóa mục đầu tiên trong danh sách
    • Explanation:
  • Ví dụ 3: Xóa mục cuối cùng trong danh sách
    • Explanation:
  • Ví dụ 4: Xóa đối tượng do người dùng xác định
  • Ví dụ 5: Xóa tất cả các yếu tố trong một phạm vi
    • Explanation:
  • Ví dụ 6: Chương trình Python để xóa khóa khỏi từ điển
  • Python del: Các mẹo bổ sung, điểm cần lưu ý và ví dụ
  • Sự khác biệt giữa Remove, Python del và Pop in Python
  • Ví dụ về Remove, Python del và Pop
  • Thời gian chạy
  • Cách nào tốt nhất để xóa phần tử trong danh sách?
  • Sự khác biệt giữa Python del vs gán cho không
  • Khi nào và nên tôi sử dụng từ khóa Del trong Python?
  • Phải đọc:
  • Sự kết luận

Cách xóa hoặc xóa phần tử trong Pythonin Python

Có 3 cách khác nhau để loại bỏ hoặc xóa các yếu tố trong Python.

  1. gỡ bỏ
  2. Del
  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 để loại bỏ biến & nbsp; từ không gian tên địa phương hoặc toàn cầu. Đ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 & nbsp; là một từ khóa Python. Và, & nbsp; obj_name & nbsp; có thể là các biến, đối tượng do người dùng xác định, danh sách, mục & nbsp; trong danh sách, từ điển, v.v.del is a Python keyword. And, obj_name can be variables, user-defined objects, lists, items within lists, dictionaries etc.

Trả về giá trị của python del

Tuyên bố của Python Del không trả lại bất cứ điều gì.

Điểm chú ý

Có thể sử dụng câu lệnh & nbsp; del & nbsp; để xóa một mục khỏi danh sách bằng cách tham khảo chỉ mục của nó, thay vì giá trị của nó.del statement can be used to remove an item from a list by referring to its index, rather than its value.

Bây giờ, hãy để Lôi nhảy trực tiếp vào các ví dụ và kiểm tra hoạt động của Tuyên bố Python Del.Python del statement.

Python del ví dụ tuyên bố

Hãy cùng xem một số ví dụ về câu lệnh DEL và cố gắng xóa một số đối tượng.

Ví dụ 1: Xóa một biến

var = "Python Pool"

del var

print(var)

Output:

  File "c:/Users/Karan/Desktop/test.py", line 5, in 
    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 vì toán tử Python del xóa biến. Và bây giờ không có biến có tên var được lưu trữ trong bộ nhớ.

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


class MyClass:
    a = 10
    def func(self):
        print('Hello')

# Output: 
print(MyClass)

# deleting MyClass
del MyClass

# Error: MyClass is not defined
print(MyClass)	
0

Output:


class MyClass:
    a = 10
    def func(self):
        print('Hello')

# Output: 
print(MyClass)

# deleting MyClass
del MyClass

# Error: MyClass is not defined
print(MyClass)	
1

Explanation:

Trong ví dụ trên, trước tiên, chúng tôi đã tạo danh sách danh sách của chúng tôi. Danh sách trên chứa ba yếu tố (Tìm hiểu, 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 danh sách DEL toán tử [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.del list[0]. Then we printed the list after deleting the first element of the list.

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


class MyClass:
    a = 10
    def func(self):
        print('Hello')

# Output: 
print(MyClass)

# deleting MyClass
del MyClass

# Error: MyClass is not defined
print(MyClass)	
2

Output:


class MyClass:
    a = 10
    def func(self):
        print('Hello')

# Output: 
print(MyClass)

# deleting MyClass
del MyClass

# Error: MyClass is not defined
print(MyClass)	
3

Explanation:

Trong ví dụ trên, trước tiên, chúng tôi đã tạo danh sách danh sách của chúng tôi. Danh sách trên chứa ba yếu tố (Tìm hiểu, 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 danh sách DEL toán tử [-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.del list[-1]. Then we printed the list after deleting the last element of the list.

Ví dụ 4: Xóa đối tượng do người dùng xác định

Chương trình Python để xóa một đối tượng lớp học bằng cách sử dụng Python del.


class MyClass:
    a = 10
    def func(self):
        print('Hello')

# Output: 
print(MyClass)

# deleting MyClass
del MyClass

# Error: MyClass is not defined
print(MyClass)	
4

Output:


class MyClass:
    a = 10
    def func(self):
        print('Hello')

# Output: 
print(MyClass)

# deleting MyClass
del MyClass

# Error: MyClass is not defined
print(MyClass)	
5

Trong ví dụ trên, chúng tôi đã xóa đối tượng STD bằng DEL STD. Lần đầu tiên, chúng tôi có được đầu ra mong muốn. Điều này là do chúng tôi đã 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 đã nhận được lỗi tên khi đối tượng bị xóa khỏi bộ nhớ.del keyword. But after using the del std in our object. We got the name error as the object is deleted from the memory.

Ví dụ 5: Xóa tất cả các yếu tố trong một phạm viDeleting all the Elements in a Range


class MyClass:
    a = 10
    def func(self):
        print('Hello')

# Output: 
print(MyClass)

# deleting MyClass
del MyClass

# Error: MyClass is not defined
print(MyClass)	
6

Output:


class MyClass:
    a = 10
    def func(self):
        print('Hello')

# Output: 
print(MyClass)

# deleting MyClass
del MyClass

# Error: MyClass is not defined
print(MyClass)	
7

Explanation:

Vì vậy, trong ví dụ này, chúng tôi đã khởi tạo một danh sách với 7 yếu tố trong đó. Sau đó, chúng tôi đã xóa các yếu 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


class MyClass:
    a = 10
    def func(self):
        print('Hello')

# Output: 
print(MyClass)

# deleting MyClass
del MyClass

# Error: MyClass is not defined
print(MyClass)	
8

Output:


class MyClass:
    a = 10
    def func(self):
        print('Hello')

# Output: 
print(MyClass)

# deleting MyClass
del MyClass

# Error: MyClass is not defined
print(MyClass)	
9

Trong ví dụ trên, chúng tôi đã xóa một cặp khóa: giá trị từ một từ điển. Chúng tôi có 4 cặp int từ điển ban đầu. Sau khi xóa khóa từ điển x, chúng ta chỉ có 3 phần tử trong từ điển.x we only have 3 elements in the dictionary.

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

Bạn có thể xóa các vật phẩm của bộ dữ liệu và dây. Nó có nghĩa là vì bộ dữ liệu và dây là những vật liệu bất biến; Các đối tượng có thể thay đổi sau khi tạo ra nó.


my_var = 5
my_tuple = ('Sam', 25)
my_dict = {'name': 'Sam', 'age': 25}

del my_var
del my_tuple
del my_dict

# Error: my_var is not defined
print(my_var)

# Error: my_tuple is not defined
print(my_tuple)

# Error: my_dict is not defined
print(my_dict)
0

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


my_var = 5
my_tuple = ('Sam', 25)
my_dict = {'name': 'Sam', 'age': 25}

del my_var
del my_tuple
del my_dict

# Error: my_var is not defined
print(my_var)

# Error: my_tuple is not defined
print(my_tuple)

# Error: my_dict is not defined
print(my_dict)
1

Sự khác biệt giữa Remove, Python del và Pop in Python

  • ________ 27 & nbsp; xóa phần tử/đối tượng phù hợp trong khi & nbsp; ________ 24 & nbsp; và & nbsp; ____ 29 & nbsp; loại bỏ phần tử tại một chỉ mục cụ thể.
  • & nbsp; ________ 24 & nbsp; và & nbsp; Sự khác biệt duy nhất giữa & nbsp; cả hai là- & nbsp; ________ 29 & nbsp; return đã xóa giá trị khỏi danh sách và del & nbsp; không trả về bất cứ điều gì.del does not return anything.
  • Pop & nbsp; là cách duy nhất trả về đối tượng.only way that returns the object.
  • Xóa & nbsp; là người duy nhất tìm kiếm đối tượng (không chỉ mục).

Tóm lại: Sử dụng DEL để xóa một phần tử bằng chỉ mục, pop & nbsp; để xóa nó theo chỉ mục nếu bạn cần giá trị trả về và xóa & nbsp; để xóa một phần tử theo giá trị. Use del to remove an element by index, pop to remove it by index if you need the returned value, and remove to delete an element by value.

Ví dụ về Remove, Python del và Pop


my_var = 5
my_tuple = ('Sam', 25)
my_dict = {'name': 'Sam', 'age': 25}

del my_var
del my_tuple
del my_dict

# Error: my_var is not defined
print(my_var)

# Error: my_tuple is not defined
print(my_tuple)

# Error: my_dict is not defined
print(my_dict)
2

Output:


my_var = 5
my_tuple = ('Sam', 25)
my_dict = {'name': 'Sam', 'age': 25}

del my_var
del my_tuple
del my_dict

# Error: my_var is not defined
print(my_var)

# Error: my_tuple is not defined
print(my_tuple)

# Error: my_dict is not defined
print(my_dict)
3

Thời gian chạy

Độ phức tạp tính toán (nghĩa là thời gian chạy hoặc lớn-O) như sau:

  • del o (n)
  • Pop O (1)
  • Xóa O (n)

Lưu ý rằng những thời gian chạy này là trường hợp xấu nhất. Ví dụ, việc xóa một phần tử ở đầu danh sách mất thời gian liên tục.

Cách nào tốt nhất để xóa phần tử trong danh sách?

  • Nếu bạn muốn xóa một đối tượng cụ thể trong danh sách, sử dụng & nbsp; ________ 33 & nbsp; phương thức.
  • Nếu bạn muốn xóa & nbsp; đối tượng tại một vị trí cụ thể (chỉ mục) trong danh sách, bạn có thể sử dụng & nbsp; ________ 24 & nbsp; hoặc & nbsp; ________ 29.
  • Sử dụng & nbsp; ________ 29, nếu bạn muốn xóa và lấy đối tượng tại vị trí cụ thể.

Sự khác biệt giữa Python del vs gán cho không

Sự khác biệt là & nbsp; x = none & nbsp; sẽ miễn phí bất cứ điều gì nó được tham chiếu nhưng giữ tên xung quanh mặc dù nó chỉ tham khảo không có gì (đó là loại, không phải là).x = None will free whatever it referenced but keep the name around even though it’s just referencing None (which is a type, NoneType).

Mặt khác, & nbsp; del x & nbsp; sẽ loại bỏ hoàn toàn cả tên và những gì nó được tham chiếu. Nếu sau đó bạn cố gắng sử dụng x một tên tuổi sẽ bị ném (hoặc thuộc tính 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 có tên nào, bạn vẫn có thể sử dụng nó trong các biểu thức trong khi sử dụng del, tên hoàn toàn bị xóa. Trong trường hợp đầu tiên, một vài byte là cần thiết để giữ tên trong bộ nhớ, trong khi sau này hoàn toàn xóa tất cả việc sử dụng bộ nhớ.

Khi nào và nên tôi 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 bạn sẽ không bao giờ cần tham khảo mục đó nữa.

Nếu bạn muốn bám vào mục danh sách đã loại bỏ vì bất kỳ lý do gì, thay vào đó hãy sử dụng phương thức ‘pop pop.

Phải đọc:

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

Sự kết luận

Python del là một từ khóa hữu ích. & NBSP; Syntax của nó có thể gây nhầm lẫn lúc đầu. Nhưng một khi chúng tôi sử dụng DEL giống như một toán tử, không phải là một cuộc gọi phương thức, nó rất dễ nhớ. Its syntax may be confusing at first. But once we use del more like an operator, not a method call, it is easy to remember.

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

Cố gắng chạy các chương trình về phía bạn và cho tôi biết nếu bạn có bất kỳ truy vấn nào.

Mã hóa hạnh phúc!

Có tốt không khi sử dụng del trong python?

Khi nào Del hữu ích trong Python?Bạn có thể sử dụng nó để loại bỏ một phần tử duy nhất của một mảng thay vì cú pháp lát x [i: i+1] = [].Điều này có thể hữu ích nếu ví dụ bạn đang ở trong hệ điều hành.Đi bộ và muốn xóa một yếu tố trong thư mục.You can use it to remove a single element of an array instead of the slice syntax x[i:i+1]=[] . This may be useful if for example you are in os. walk and wish to delete an element in the directory.

Làm thế nào để Del hoạt động hoạt động trên từ điển?

Trong một từ điển, Python del có thể được sử dụng để xóa một cặp giá trị khóa cụ thể.Để xóa một phần tử dữ liệu cụ thể trong từ điển, câu lệnh DEL chỉ chấp nhận khóa làm giá trị chỉ mục.the del statement only accepts the key as an index value.

Câu lệnh DEL được sử dụng như thế nào?

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 để loại bỏ các lát từ một danh sách.to delete an item at a given index. It can also be used to remove slices from a list.

Del có trả lại bất cứ điều gì Python không?

Sự khác biệt giữa loại bỏ, python del và pop trong python remove () Xóa phần tử/đối tượng phù hợp trong khi DEL và POP sẽ loại bỏ phần tử tại một chỉ mục cụ thể.Del và Pop giao dịch với chỉ số.Sự khác biệt duy nhất giữa hai là trả về pop đã xóa giá trị khỏi danh sách và DEL không trả về bất cứ điều gì.del does not return anything.