【发布时间】:2016-08-08 10:08:04
【问题描述】:
我需要创建一组消息的 ID,以及原始列表中的位置。该代码用于对消息进行排序,然后根据 ID 处理它们。
以下工作,可读,但速度慢。
import numpy as np
IDs=np.array([354,45,45,34,354])#example, the actual array is huge
Dict={}
for counter in xrange(len(IDs)):
try:
Dict[IDs[counter]].append(counter)
except:
Dict[IDs[counter]]=[counter]
print(Dict)
#{354: [0, 4], 34: [3], 45: [1, 2]}
任何想法如何加快它?不需要对列表进行排序。后面的代码使用如下,然后dict就被丢弃了
for item in Dict.values():
Position_of_ID=Position[np.array(item)]
...
【问题讨论】:
标签: python dictionary