यह एक उदाहरण के साथ व्याख्या करने के लिए वास्तव में केवल आसान है के भीतर से एक dict के एक सबसेट निकाला जा रहा है, तो एक dict के भीतर से एक सूची के चौराहे दूर करने के लिए मैं आमतौर पर कुछ इस तरह करते हैं:एक सूची
a = {1:'', 2:'', 3:'', 4:''}
exclusion = [3, 4, 5]
# have to build up a new list or the iteration breaks
toRemove = []
for var in a.iterkeys():
if var in exclusion:
toRemove.append(var)
for var in toRemove:
del a[var]
यह एक असामान्य उदाहरण की तरह प्रतीत हो सकता है, लेकिन यह आश्चर्य की बात है कि मुझे इस तरह कुछ करने की ज़रूरत है। सेट के साथ ऐसा करना बहुत अच्छा होगा, लेकिन मैं स्पष्ट रूप से निर्देश के लिए 'मूल्य' को बनाए रखना चाहता हूं।
यह विधि परेशान है क्योंकि इसे दो लूप और अतिरिक्त सरणी की आवश्यकता है। क्या ऐसा करने का एक क्लीनर और अधिक कुशल तरीका है।
ओह, यह मेरे उत्तर से कहीं बेहतर है। – SpoonMeiser
अच्छी टिप, dict.pop भूल गया है। – camflan
आप किसी के बजाय किसी भी मूल्य का उपयोग नहीं कर सकते: हटाए गए = [d.pop (k, 0) ex के बहिष्कार में के लिए] – jfs