में अद्वितीय तत्वों के समूह को इंडेक्स करना मेरे पास पूर्णांक की कई बड़ी (> 100,000,000) सूचियां हैं जिनमें कई डुप्लिकेट हैं। मैं इंडेक्स प्राप्त करना चाहता हूं जहां प्रत्येक तत्व होता है। वर्तमान में मैं ऐसा कुछ कर रहा हूं:numpy
import numpy as np
from collections import defaultdict
a = np.array([1, 2, 6, 4, 2, 3, 2])
d=defaultdict(list)
for i,e in enumerate(a):
d[e].append(i)
d
defaultdict(<type 'list'>, {1: [0], 2: [1, 4, 6], 3: [5], 4: [3], 6: [2]})
प्रत्येक तत्व के माध्यम से पुनरावृत्ति करने की यह विधि समय लेने वाली है। क्या ऐसा करने के लिए कोई कुशल या सदिश तरीका है?
Edit1 मैं Acorbe और जैमे के तरीकों की कोशिश की निम्नलिखित
a = np.random.randint(2000, size=10000000)
पर परिणाम
original: 5.01767015457 secs
Acorbe: 6.11163902283 secs
Jaime: 3.79637312889 secs
मुझे लगता है कि बहु प्रसंस्करण उर fuction उर problem..https का समाधान होगा: –