2013-01-24 44 views
-1

Possible Duplicate:
Python - file to dictionary?文件到字典

我一直在尋找這個網站上,和貨架我的大腦,但我無法找到答案。 我有一個與數字匹配的文字,用'*'分隔。 現在我必須找到一種方法來將此文件轉換爲python中的字典,並從另一個文本中查找單詞並從字典文件中分配值。

我知道如何導入一個純文本文件,而不是我如何使它「像字典一樣行事」 有沒有人有任何想法?

謝謝大家

+1

你能提供你的文件的一些示例數據? – sharjeel

+1

到目前爲止你已經嘗試過的代碼的一個例子? – larsks

回答

2

假設你的文件是每行一個,例如

chicken*5 
dog*3 
... 

你可以做

with open("path/to/file") as f: 
    data = [line.split("*") for line in f] 
data = dict((word, int(cnt)) for (word, cnt) in data) 
+0

或者你可以在數據=字:int(cnt)中爲f行代替word,cnt代表line.split(*)}''所以你不需要中間列表。 – Volatility

+0

@Volatility,是的,當然可以。我傾向於在同一個列表理解中避免多個'for's,但在這種情況下,我同意你的解決方案非常易讀。 'dict'解析也很酷(對於Python> = 2.7) – tom

+0

嗨@Tom,感謝您的幫助,但是如果我嘗試您的代碼,我會收到錯誤:ValueError:需要超過1個值才能解包。你知道那是關於什麼嗎? – Shifu