Xóa phần tử trong dictionary python | Laptrinhcanban.com

Xóa phần tử trong dictionary python

Hướng dẫn tất cả các cách xóa phần tử trong dictionary python. Bạn sẽ học được tất cả cách xóa phần tử trong dictionary python như bằng lệnh del, phương thức pop(), phương thức popitem(), hoặc là cách xóa toàn bộ bằng phương thức clear() trong python sau bài học này.

Chúng ta có 4 phương pháp để xóa phần tử trong dictionary python như sau:

  • phương thức pop(): Trích xuất và xóa phần tử được chỉ định
  • phương thức popitem(): Lấy và xóa các phần tử một cách ngẫu nhiên
  • câu lệnh del: Xóa phần tử được chỉ định
  • phương thức clear(): xóa tất cả các phần tử

Xóa phần tử trong dictionary python bằng phương thức pop()

Phương thức pop() sẽ lầy phần tử ra từ dictionary và sau đó xóa nó.
Chúng ta chỉ định khóa làm đối số của phương thức pop() và xóa phần tử bằng cú pháp sau đây:

dict.pop(khóa[, default])

Trong đó dict là dictionary cần xóa phần tử và khóa là khóa của phần tử cần xóa.

Ví dụ:

dict = {'red':1, 'blue':2, 'yellow':3}
print(dict)
#>> {'red': 1, 'blue': 2, 'yellow': 3}

popped1 = dict.pop('blue')
print(popped1)
#>> 2

print(dict)
#>> {'red': 1, 'yellow': 3}

Trong trường hợp khóa không tồn tại và đối số default được chỉ định, giá trị default sẽ được trả về.

dict = {'red':1, 'blue':2, 'yellow':3}
popped2 = dict.pop('green','No data')
print(popped2)
#>> No data

print(dict)
#>> {'red': 1, 'blue': 2, 'yellow': 3}

Lại nữa, đối số default có thể lược bỏ, tuy nhiên nếu như khóa không tồn tại trong dictionary, lỗi KeyError cũng sẽ xảy ra.

mydict = {"A":"Apple", "L":"Lemon", "O":"Orange"}
val = mydict.pop("P")

>> Traceback (most recent call last):
>> File "<stdin>", line 1, in <module>
>> KeyError: 'P'

Xóa phần tử trong dictionary python bằng lệnh del

Lệnh del giúp chúng ta xóa đi phần tử bằng cách chỉ định khóa của phần tử đó, với cú pháp sau đây:

del dic[key]

Ví dụ:

mydict = {"A":"Apple", "L":"Lemon", "O":"Orange"}
print(mydict)
#>> {"A":"Apple", "L":"Lemon", "O":"Orange"}

del mydict["L"]
print(mydict)
#>> {'A': 'Apple', 'O': 'Orange'}

Lại nữa, nếu khóa được chỉ định không tồn tại trong dictionary, lỗi KeyError sẽ xảy ra:

mydict = {"A":"Apple", "L":"Lemon", "O":"Orange"}
del mydict["P"]

>> Traceback (most recent call last):
>> File "<stdin>", line 1, in <module>
>> KeyError: 'P'

Lệnh del khác với phương thức pop() ở chỗ, có thể xóa nhiều phần tử cùng một lúc.

dict = {'red':1, 'blue':2, 'yellow':3}
del dict['red'], dict['yellow']
print(dict)

#>>{'blue': 2}

Ngoài ra, còn một điểm khác biệt nữa là, lệnh del không lấy ra phần tử cần xóa từ dictionary như phương thức pop().
Do đó trong trường hợp chúng ta cần xử lý phần tử cần xóa, hãy dùng phương thức pop() thay cho lệnh del nhé.

Xóa phần tử cuối cùng trong dictionary python bằng phương thức popiem()

Phương thức popiem() sẽ lấy ra phần tử cuối cùng trong dictionary và sau đó xóa nó, với cú pháp sau đây:

dict.popitem()

Trong các phiên bản Python trước đây, Phương thức popiem() sẽ lấy ra một phần tử ngẫu nhiên và tiến hành xóa nó. Tuy nhiên từ phiên bản Python 3.7 trở đi, popiem() sẽ lấy ra và xóa phần tử cuối cùng trong dictionary.

Ví dụ:

dict = {'red':1, 'blue':2, 'yellow':3}
print(dict)
#>> {'red': 1, 'blue': 2}

popped = dict.popitem()
print(popped)
#>> ('yellow', 3)

Nếu chúng ta sử dụng vòng lặp for và tiến hành xóa phần tử trong dictionary bằng phương thức popiem(), các phần tử trong dictionary đó sẽ được xóa hết lần lượt từ cuối dictionary. Lại nữa, khi các phần tử được xóa hết và dictionary trở nên rỗng, lỗi KeyError sẽ xảy ra.

Nói cách khác, chúng ta không thể dùng phương thức popitem() với một dictionary rỗng được.

dict = {}
popped = dict.popitem()

#>>Traceback (most recent call last):
#>> File "Main.py", line 2, in <module>
#>> popped = dict.popitem()
#>>KeyError: 'popitem(): dictionary is empty'

Xóa toàn bộ phần tử trong dictionary python bằng phương thức clear()

Phương thức clear() sẽ xóa toàn bộ phần tử trong dictionary và làm rỗng dictionary đó.
Chúng ta sẽ dùng phương thức clear() với cú pháp sau đây:

dict.clear()

Lưu ý là toàn bộ phần tử có trong dictionary sẽ bị xóa, tuy nhiên bản thân đối tượng dictionary sẽ không bị xóa đi mà chỉ bị làm rỗng.

Ví dụ:

mydict = {"A":"Apple", "L":"Lemon", "O":"Orange"}

mydict.clear()
print(mydict)
#>> {}

Tổng kết và thực hành

Trên đây Kiyoshi đã hướng dẫn bạn tất cả các cách xóa phần tử trong dictionary pythonrồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.