2011-12-09 28 views
5

Có phương pháp phím tắt hiệu quả nào để xóa nhiều hơn một khóa tại một thời điểm từ từ điển python không?Xóa nhiều khóa từ Python dict

Ví dụ;

x = {'a': 5, 'b': 2, 'c': 3} 
x.pop('a', 'b') 
print x 
{'c': 3} 

Trả lời

13

Sử dụng the del statement:

x = {'a': 5, 'b': 2, 'c': 3} 
del x['a'], x['b'] 
print x 
{'c': 3} 
+0

Làm việc như một nét duyên dáng –

2

Dạng chung tôi sử dụng là:

  1. Sản xuất một danh sách các phím để xóa khỏi bản đồ;
  2. Vòng lặp qua danh sách và gọi del cho mỗi danh sách.

Ví dụ:

Nói rằng tôi muốn xóa tất cả các phím chuỗi trong một ánh xạ. Tạo ra một danh sách trong số họ:

>>> x={'a':5,'b':2,'c':3,1:'abc',2:'efg',3:'xyz'} 
>>> [k for k in x if type(k) == str] 
['a', 'c', 'b'] 

Bây giờ tôi có thể xóa những:

>>> for key in [k for k in x if type(k) == str]: del x[key] 
>>> x 
{1: 'abc', 2: 'efg', 3: 'xyz'} 
Các vấn đề liên quan