मैं एक सूची है कि इस तरह दिखता है:अजगर - एक शब्दकोश की एक सूची और चाबी के बीच चौराहे
l1 = ['200:200', '90:728']
मैं एक शब्दकोश है कि इस तरह दिखता है:
d1 = {'200:200':{'foo':'bar'},'300:300':{'foo':'bar'}}
मैं प्राप्त करने की आवश्यकता तानाशाही को फ़िल्टर करें जहां केवल चाबियां एल 1 में हों। संक्षेप में एक सूची के एक चौराहे और एक dict की चाबी
result = {'200:200':{'foo':'bar'}}
जबकि dict की उपधारा लौटने: dict इस तरह दिखना चाहिए।
मैं इसे कुशलतापूर्वक कैसे कर सकता हूं जहां बड़े सेट के लिए समय मुद्दा है?
धन्यवाद
ध्यान दें कि 3.x में, एक शब्दकोश दृश्य सेट-जैसा है, इसलिए आपको इसे 'set()' में लपेटने की आवश्यकता नहीं है। वास्तव में, 3.x में, पूरी शीर्ष पंक्ति 'कुंजी = d1.keys() और l1' हो सकती है। –
@ लैटवेयर आपको 2.x या तो – jamylak
में सेट में डालने की आवश्यकता नहीं है, इसकी भी आवश्यकता नहीं है(), 'set (l1) .intersection (d1) ' – georg