1
키 값 쌍 sentence_ID
및 cluster_ID
인 사전이 있습니다. {sentence_ID : cluster_ID}
큰 사전을 통해 반복 속도를 높이는 방법
예 :
이
는 형식 합계my_id_dict:
{0: 71,
1: 63,
2: 66,
3: 92,
4: 49,
5: 85
.
.}
난 sentence_IDs 위에 200,000 및 100 cluster_IDs있다.
my_id_dict
을 반복하여 각 클러스터에 문장 번호의 목록을 생성하려고합니다.
예 출력 내가 원하는 :
논리는 각 클러스터에 대해, 딕셔너리에 걸쳐 모두 20 만에 CLUSTER_ID에 대한 다음 문장 목록을 만들 것입니다 : 이것은 내가 사용하는 코드는
Cluster 0
[63, 71, 116, 168, 187, 231, 242, 290, 330, 343]
Cluster 1
[53, 107, 281, 292, 294, 313, 353, 392, 405, 479]
값, dict 값 == 현재 클러스터 인덱스 인 경우 문장 ID를 문장 목록에 씁니다.
계속 100 번.
cluster_dict = defaultdict(list)
num_clusters = 100
for cluster in xrange(0,num_clusters):
print "\nCluster %d" % cluster
sentences = []
for i in xrange(0,len(my_id_dict.values())):
if(my_id_dict.values()[i] == cluster):
sentences.append(my_id_dict.keys()[i])
cluster_dict[cluster] = sentences
print sentences[:10]
이 작동하지만 너무 느립니다. 내가 이것을 할 수있는 더 빠른 방법이 있습니까?