मैं सबसे तेजी से अधिकांश के लिए देख रहा हूँ/एक अजगर dictअजगर
यहाँ में कुछ कुंजी को हटाने का प्रभावी तरीका कुछ विकल्प हैं
for k in somedict.keys():
if k.startswith("someprefix"):
del somedict[k]
या
dict((k, v) for (k, v) in somedict.iteritems() if not k.startswith('someprefix'))
तर्कसंगत रूप से पहला स्निपेट छोटे डिक्ट्स पर तेज़ होना चाहिए, यह एक निर्देश की एक प्रति नहीं बनाता है लेकिन सभी चाबियों की एक सूची बनाता है, हालांकि डबल लुकअप और टोक पुनर्निर्माण समय लेने वाला है। जबकि दूसरा बड़ा डिक्ट्स पर तेज़ है, लेकिन 2x अधिक मेमोरी की आवश्यकता है। मैंने कुछ छोटे बेंचमार्क में अपनी धारणा की जांच की है।
कुछ भी तेज़?
@Adam: नहीं, आप नहीं कर सकते। आप जिस उपकरण को फिर से चालू कर रहे हैं उससे आइटम जोड़ या हटा नहीं सकते हैं। –
एक त्रिभुज का प्रयोग करें। ___ – kennytm
@Ignacio: धन्यवाद, हटाई गई टिप्पणी। – bernie