簡體   English   中英

將值附加到python中的兩個鍵defaultdict

[英]Appending values to two key defaultdict in python

從文本文件,我試圖附加一個后面的值作為前兩個值的值作為鍵。 這是mt代碼:

# this is a sample file. The output that I would like is ["apple","orange"]
lines = "This is apple. This is orange".split() 
d = defaultdict(list)
d[("This", "is")] = list
for i, tokens in enumerate(lines):
    if "This" == lines[i] and "is" == lines[i+1]:
        d[(lines[i], lines[i+1])].append([lines[i+2]])
print d[("This", "is")]

但我得到的錯誤如下所示:

TypeError: `append() takes exactly one argument (0 given)` on `d[(lines[i], lines[i+1])].append([lines[i+2]])`

有人可以幫忙嗎?

以下行分配list類型本身,而不是list實例。

d[("This", "is")] = list

上面的行應替換為:

d[("This", "is")] = list()

要么

d[("This", "is")] = []

或者可以完全刪除該行,因為如果字典中沒有匹配的鍵, defaultdict將處理該情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM