我試圖保留一個打開文件的字典,將數據分割成單個文件。當我從字典中請求文件時,如果密鑰不在那裏,我希望它被打開。但是,它看起來不像我可以使用lambda作爲默認值。是否可以使用lambda作爲字典默認值?
例如
files = {}
for row in data:
f = files.get(row.field1, lambda: open(row.field1, 'w'))
f.write('stuff...')
這不起作用,因爲f被設置爲函數而不是結果。使用上述語法的setdefault也不起作用。有什麼我可以除了這個做:
f = files.get(row.field1)
if not f:
f = files[row.field1] = open(row.field1, 'w')
的get()不提高如果找不到該項目,則會出現關鍵錯誤。 []符號。例如文件[關鍵] – Jacob 2012-02-20 21:56:25