Từ điển Python là chứa dữ liệu không có thứ tự, có thể thay đổi và được lập chỉ mục. Chúng có khóa và giá trị, mỗi mục được tham chiếu bằng khóa. Bài viết này khám phá các cách xóa mục từ từ điển.
Sử dụng del với khóa
Trong cách này, ta bắt các giá trị khóa cần xóa. Khi áp dụng hàm del, các cặp khóa giá trị cho những khóa đó bị xóa.
Ví dụ
# Từ điển cho trước ADict = {1: 'Mon', 2: 'Tue', 3: 'Wed',4:'Thu',5:'Fri'} # Lấy khóa với giá trị 2,3. to_del = [key for key in ADict if key in(2,3)] # Xóa khóa for key in to_del: del ADict[key] # Từ điển mới print(ADict)Kết quả
Chạy mã trên cho kết quả sau −
{1: 'Mon', 4: 'Thu', 5: 'Fri'}Sử dụng list với khóa
Ta có thể tạo danh sách chứa các khóa từ từ điển và dùng biểu thức điều kiện để chọn khóa dùng cho xóa. Trong ví dụ dưới đây, ta chỉ xem xét các khóa với giá trị chẵn bằng cách so sánh dư chia cho hai bằng không.
Ví dụ
# Từ điển cho trước ADict = {1: 'Mon', 2: 'Tue', 3: 'Wed',4:'Thu',5:'Fri'} # Lấy khóa với giá trị chẵn for key in list(ADict): if (key%2) == 0: del ADict[key] # Từ điển mới print(ADict)Kết quả
Chạy mã trên cho kết quả sau −
{1: 'Mon', 3: 'Wed', 5: 'Fri'}Sử dụng items để xóa
Thay vì khóa, ta cũng có thể dùng items của từ điển để xóa giá trị. Nhưng sau khi chọn mục, ta phải gián tiếp dùng khóa để chọn các mục cần xóa.
Ví dụ
# Từ điển cho trước ADict = {1: 'Mon', 2: 'Tue', 3: 'Wed',4:'Thu',5:'Fri'} NewDict = [] # Lấy khóa với giá trị chẵn for key,val in ADict.items(): if val in('Tue','Fri'): NewDict.append(key) for i in NewDict: del ADict[i] # Từ điển mới print(ADict)Kết quả
Chạy mã trên cho kết quả sau −
{1: 'Mon', 3: 'Wed', 4: 'Thu'}