2013-08-05 58 views
-1

好吧,我已經想通了我應該做什麼。 我有一個單詞的列表:包含具有多個值的比較列表

T_buffer=docs_A_rec[key]['words'] 

['from', 
'wiml', 
'stein', 
'focus', ...] 

和我還有一個列表(templist),其中包含:

[('focus', -7.734475849276923e-07), 
('four', -7.734475849276923e-07), 
('rapid', -7.734475849276923e-07), 
...] 

我想在T_buffer每個字將其與templist中的所有單詞進行比較(列表的所有元組中的第一個元素) 如果一個單詞匹配,那麼我想在單詞內存儲該單詞和值o F中的templist: docs_A_rec[key]['idf']=templist (word,number) 如果Word OT在templist存在,那麼我想在字典裏存儲,它並沒有在templist存在的單詞和0 docs_A_rec[key]['idf']=(word,0)

事情是這樣的一個:

for key in docs_A_rec: 
    T_buffer=docs_A_rec[key]['words'] 
    if [item for item in T_buffer if item in templist]: 
     `docs_A_rec[key]['idf']=templist` 
    else: 
     `docs_A_rec[key]['idf']=[item,0] 

Thannks提前!

+0

你的問題不清楚。 –

+0

這包含一個單詞列表不是數字: docs_A_rec [infile] ['word'] 我希望列表中的每個單詞與templist的單詞進行比較,如果它們匹配,則dict [word] ['idf' ] = templist(word,number)否則dict [word] ['idf'] = templist(word,0) –

+0

你能簡單地發佈樣本(可能是簡化的)輸入和期望的輸出嗎?目前很難說你有什麼投入。只要告訴我們你有什麼,你需要什麼,爲什麼你認爲你的方法失敗。 –

回答

0

我希望這是你在說什麼,一個大大簡化例如:

templist = [('word',1234.555),('word2',5534342.3434)] 
compare_dict['word'] = ['word','another word','home'] 

鑑於上述情況:

我想每個單詞列表內將其與templist的比較 的話,如果它們匹配dict[word]['idf']=templist(word,number) 否則dict[word]['idf']=templist(word,0)

for word, number in templist: 
    if word in compare_dict['word']: 
     compare_dict['idf'][word] = number 
    else: 
     compare_dict['idf'][word] = 0