2015-04-03 50 views
-1

我有一個關於蟒蛇格式問題:關於Python的格式

query_score = {query_id:set((doc_id, score) 
          for v, query in queries.items() 
          for document in txt_filenames 
           doc_id = document.split('\\')[-1] 
           score = cos(query, texts[doc_id]))) 
       for query_id, b in queries.items()}  

它說,它有一個「語法錯誤:無效的語法」。有沒有關於for循環之下的兩個句子的問題? 我是新來的python,以便任何幫助將不勝感激。

+3

你期望它做什麼?另外,這是真的如何縮進你的代碼? – 2015-04-03 04:10:46

+0

我看看這段代碼,我只能說:[WAT?](http://cdn.shopify.com/s/files/1/0070/7032/files/wat_explained_grande.jpg?113131) – alfasin 2015-04-03 04:12:51

+0

I' m會得到一個包含每個查詢的ID在每個文檔和他們之間的分數的集合。 – 2015-04-03 04:15:06

回答

0

對我來說,看起來你可能在第二行到最後一行的末尾有一個額外的括號。擺脫額外的問題可能會解決問題。

+0

是的,我犯了一個錯誤。但是在我擺脫它之後。它仍然說我有一個「SyntaxError:無效的語法」的問題。 – 2015-04-03 04:18:19

1

你不能在理解的中間定義變量,所以你需要在之後的內聯這些線路,例如:

query_score = {query_id: set((document.split('\\')[-1], cos(query, texts[doc_id])) 
          for v, query in queries.items() 
          for document in txt_filenames) 
       for query_id, b in queries.items()} 
+0

哇。它看起來很有效! – 2015-04-03 04:20:29

+0

非常感謝。 – 2015-04-03 04:20:54