2009-08-26 37 views
8

Người mới dùng Python, vì vậy điều này có vẻ ngớ ngẩn.Xóa Không có giá trị nào từ Python dict

Tôi có hai dicts:

default = {'a': 'alpha', 'b': 'beta', 'g': 'Gamma'} 
user = {'a': 'NewAlpha', 'b': None} 

Tôi cần cập nhật giá trị mặc định của tôi với các giá trị tồn tại trong người dùng. Nhưng chỉ cho những người có giá trị không bằng None. Vì vậy, tôi cần phải lấy lại một dict mới:

result = {'a': 'NewAlpha', 'b': 'beta', 'g': 'Gamma'} 

Trả lời

18
result = default.copy() 
result.update((k, v) for k, v in user.iteritems() if v is not None) 
+1

Và trong Python 3, sử dụng user.items() – Ayman

7

Với phương pháp update(), và một số biểu hiện máy phát điện:

D.update((k, v) for k, v in user.iteritems() if v is not None) 
Các vấn đề liên quan