我在Python中有作業問題。
我在Linux上使用Python 3.4.0版。
,我讀一個CSV文件中的設計文件規定使用內置的功能,指定爲NAMES.DAT,這是格式:
在Python中,將包含關鍵字對的列表添加到字典最簡單的方法是什麼?
name:name2, name:name3, name2:name4, name3:name5\n (etc)
我然後將這些關鍵字對添加到字典,這是我堅持的部分。
我迄今的代碼是這樣的:
dictionary = dict()
database = open('names.dat', 'r')
data = database.read()
data = data.rstrip('\n')
data = data.split(',')
for item in range(len(data)):
dictionary.update(data[item-1])
我的想法是,如果我在格式列表元素「名稱:NAME2」,我打電話與元素作爲詞典更新功能參數,它會正確映射到字典中的一個關鍵字對。
然而,這種情況並非如此,因爲我當我運行該腳本得到這個錯誤:
File "MyName.py", line 7, in <module>
dictionary.update(data[item-1])
ValueError: dictionary update sequence element #0 has length 1; 2 is required
This和This看起來相似,但我覺得這就夠了不同的問題,值得單獨響應。
我在這裏做錯了什麼,我該如何解決?
有沒有更簡單的方法來做到這一點?
這個成語添加setDefault方法是如此普遍在Python,有一些語法糖吧:看'dict.setdefault'和'collections.defaultdict'。 – 2015-03-19 03:58:02
整潔,我一直在從我的AI類從R移動到Python,這些方法可能會爲我節省一些頭痛的問題 – JGreenwell 2015-03-19 04:05:54