करने के लिए अपने कोड अनुवाद होगा Stephan202 सही जवाब है, defaultdict
का उपयोग करें।लेकिन अगर आप सी ++ एसटीएल मल्टीमैप के इंटरफेस और भी बदतर प्रदर्शन के साथ कुछ चाहते हैं, आप ऐसा कर सकते हैं:
multimap = []
multimap.append((3,'a'))
multimap.append((2,'x'))
multimap.append((3,'b'))
multimap.sort()
अब जब आप multimap
के माध्यम से पुनरावृति, आप की तरह आप एक std::multimap
में होगा जोड़े मिल जाएगा। दुर्भाग्यवश, इसका मतलब है कि आपका लूप कोड C++ के रूप में बदसूरत दिखने लगेगा।
def multimap_iter(multimap,minkey,maxkey=None):
maxkey = minkey if (maxkey is None) else maxkey
for k,v in multimap:
if k<minkey: continue
if k>maxkey: break
yield k,v
# this will print 'a','b'
for k,v in multimap_iter(multimap,3,3):
print v
सारांश में, defaultdict
बहुत अच्छा है और अजगर की शक्ति का लाभ उठाता है और आप इसे उपयोग करना चाहिए।
@ccfenix के माध्यम से उपलब्ध है, मैंने जो कुछ भी आप चाहते थे उसका एक उदाहरण जोड़ा। यदि यह गलत है, तो कृपया उदाहरण को सही बनाने के लिए संपादित करें। एक उदाहरण लोगों को आपके प्रश्न का उत्तर देने में मदद करता है; उन्हें यह जानने की जरूरत है कि आप क्या खोज रहे हैं। – steveha
याह, ठीक वही मैं चाहता हूं, धन्यवाद स्टीव! –
http://code.activestate.com/recipes/576835-multimap-associating-multiple-values-to-a-key/ आपके द्वारा – Chozabu