Chúng ta có thể xóa từ điển trong python không?

Bây giờ chúng tôi muốn xóa một mục khỏi từ điển này có khóa là “at”. Có nhiều cách khác nhau để làm điều đó. Hãy khám phá từng cái một,

Xóa khóa khỏi từ điển bằng dict. nhạc pop()

quảng cáo

Trong lớp từ điển Python cung cấp một phương thức pop() để xóa một mục khỏi từ điển dựa trên khóa i. e

dictionary.pop(key[, default])
  • Nếu khóa đã cho tồn tại trong từ điển thì dict. pop() xóa phần tử bằng khóa đã cho và trả về giá trị của nó
  • Nếu khóa đã cho không tồn tại trong từ điển thì nó sẽ trả về giá trị Mặc định đã cho
  • Nếu khóa đã cho không tồn tại trong từ điển và Không có giá trị Mặc định nào được chuyển đến pop() thì nó sẽ ném KeyError

Hãy xóa một phần tử khỏi dict sử dụng pop(),

Đọc thêm

  • Python dict get()
  • con trăn. Cách tạo danh sách tất cả các Giá trị trong một…
  • gấu trúc. Khung dữ liệu. điền ()
  • Python dict pop()

key_to_be_deleted = 'this'

# As 'this' key is present in dict, so pop() will delete
# its entry and return its value
result = word_freq_dict.pop(key_to_be_deleted, None)

print("Deleted item's value = ", result)
print("Updated Dictionary :", word_freq_dict)

đầu ra

Deleted item's value =  43
Updated Dictionary : {'Hello': 56, 'at': 23, 'test': 43}

Nó đã xóa cặp khóa-giá trị khỏi từ điển có khóa là 'cái này' và cũng trả về giá trị của nó

Những bài viết liên quan

  • Python chính tả. phương thức pop() được giải thích chi tiết
  • Làm cách nào để xóa nhiều khóa khỏi Từ điển trong khi lặp lại?
  • Làm cách nào để lặp lại tất cả các khóa của Từ điển trong Python?
  • Làm cách nào để lặp lại tất cả các giá trị của từ điển trong Python?

Xóa Khóa khỏi từ điển nếu tồn tại bằng cách sử dụng pop()

Giá trị mặc định trong pop() là cần thiết, bởi vì nếu khóa đã cho không có trong từ điển và không có giá trị mặc định nào được đưa ra trong pop() thì nó sẽ đưa ra keyError. Hãy xóa một phần tử không có trong từ điển bằng cách sử dụng hàm pop() và không chuyển đối số giá trị mặc định trong pop() i. e

key_to_be_deleted = 'where'
word_freq_dict.pop(key_to_be_deleted)

Lỗi

KeyError: 'where'

Nếu khóa đã cho trong hàm pop() không có trong từ điển và giá trị mặc định cũng không được cung cấp, thì pop() có thể ném KeyError. Vì vậy, để tránh lỗi đó, chúng ta phải luôn kiểm tra xem khóa có tồn tại trong từ điển hay không trước khi thử xóa khóa đó bằng hàm pop() và không có bất kỳ giá trị mặc định nào i. e

key_to_be_deleted = 'where'

if key_to_be_deleted in word_freq_dict:
    word_freq_dict.pop(key_to_be_deleted)
else:
    print(f'Key {key_to_be_deleted} is not in the dictionary')

đầu ra

Key where is not in the dictionary

Chúng tôi cũng có thể sử dụng thử/ngoại trừ để xử lý lỗi đó,

key_to_be_deleted = 'where'

try:
    word_freq_dict.pop(key_to_be_deleted)
except KeyError:
    print(f'Key {key_to_be_deleted} is not in the dictionary')

đầu ra

Key where is not in the dictionary

Xóa khóa khỏi từ điển bằng vòng lặp items() & for

Lặp lại khóa và lọc khóa cần xóa i. e

dictionary.pop(key[, default])
0

đầu ra

dictionary.pop(key[, default])
1

Chúng tôi đã tạo một từ điển tạm thời mới và sau đó lặp lại tất cả các cặp khóa-giá trị của từ điển gốc. Trong khi lặp lại, chúng tôi chỉ sao chép cặp khóa-giá trị vào từ điển tạm thời mới nếu khóa không bằng khóa cần xóa. Khi quá trình lặp lại kết thúc, chúng tôi đã sao chép nội dung từ điển tạm thời mới vào từ điển gốc. Theo cách tiếp cận này, không có rủi ro về KeyError, v.v.

Xóa khóa khỏi từ điển bằng cách sử dụng các mục () và Hiểu từ điển

Sử dụng logic của ví dụ trước, chúng ta có thể lọc nội dung của từ điển dựa trên khóa bằng cách sử dụng các mục() & khả năng hiểu từ điển,

dictionary.pop(key[, default])
2

đầu ra

dictionary.pop(key[, default])
1

Chúng tôi đã lặp lại các cặp khóa-giá trị của từ điển và xây dựng một từ điển mới bằng cách sử dụng khả năng hiểu từ điển. Nhưng chúng tôi đã loại trừ cặp có khóa khớp với khóa cần xóa. Sau đó, chúng tôi đã gán từ điển mới này cho từ điển gốc. Nó tạo ra hiệu ứng rằng mục từ từ điển bị xóa dựa trên khóa

Do đó, lợi ích của phương pháp này là bạn không cần phải lo lắng về Lỗi khóa trong trường hợp khóa không tồn tại trong từ điển

Xóa khóa khỏi từ điển bằng cách sử dụng del

Chúng ta có thể sử dụng câu lệnh del để xóa cặp khóa-giá trị khỏi từ điển dựa trên khóa,

dictionary.pop(key[, default])
4

Trước tiên, chọn phần tử từ từ điển bằng cách chuyển khóa trong toán tử chỉ số và sau đó chuyển nó vào câu lệnh del. Nếu khóa có trong từ điển thì nó sẽ xóa khóa và giá trị tương ứng khỏi từ điển. Nhưng nếu khóa đã cho không có trong từ điển thì nó sẽ báo lỗi i. e. Lỗi chính

Hãy sử dụng nó để xóa khóa khỏi từ điển nêu trên,

dictionary.pop(key[, default])
5

đầu ra

dictionary.pop(key[, default])
1

Nó đã xóa mục khỏi từ điển có khóa là 'at'. Nhưng nếu chúng ta sử dụng câu lệnh del với một khóa không tồn tại trong từ điển thì nó có thể ném KeyError. Ví dụ,

dictionary.pop(key[, default])
7

đầu ra

KeyError: 'where'

Do đó, chúng ta phải luôn kiểm tra xem khóa có tồn tại trong từ điển hay không trước khi thử xóa chúng bằng từ khóa del để tránh KeyError,

dictionary.pop(key[, default])
9

đầu ra

Key where is not in the dictionary

Xóa khóa khỏi từ điển bằng từ khóa del và thử/ngoại trừ

Nếu chúng tôi không muốn kiểm tra if trước khi gọi del, thì chúng tôi cũng có thể sử dụng thử/ngoại trừ. Hãy thử xóa một khóa không tồn tại trong từ điển và cũng bắt lỗi bằng cách sử dụng try/ngoại trừ,

Làm cách nào để xóa từ điển trong Python?

Từ khóa del có thể được sử dụng để xóa tại chỗ khóa có trong từ điển trong Python.

Del có thể xóa toàn bộ từ điển Python không?

Khoa học dữ liệu thực tế sử dụng Python . Để xóa hoàn toàn toàn bộ từ điển, chỉ cần sử dụng câu lệnh del .

Lệnh nào dùng để xóa từ điển?

Xóa cả từ điển và tất cả các tệp dữ liệu liên quan của nó