簡體   English   中英

將多個值附加到字典中的鍵

[英]Appending multiple values to a key in a dictionary

lst是字符串列表。

我不斷收到錯誤消息,提示append對字符串類型無效。 word_dict[len(word)]是一個字符串word_dict[len(word)] ,但是我不確定如何將多個值附加到同一鍵上。

for word in lst:
    if len(word) == int(wordLength):
        if len(word) in word_dict:
            word_dict[len(word)] = word_dict[len(word)].append(word)
        else:
            word_dict[len(word)] = word

print word_dict

使值成為單詞列表。 collections.defaultdict(list)可以自動執行此操作:

word_dict = collections.defaultdict(list)

...

# Whether the key has anything associated with it or not
word_dict[whatever].append(word)

String類沒有添加函數,因此這就是為什么。

請在此處查看String函數: http : //docs.python.org/2/library/string.html

要附加字符串,請使用+

string1 = "hi my name is: "
string2 = "ryan miller"
print string1 + string2

合並列表時使用追加。

所以代替:

word_dict[len(word)] = word_dict[len(word)].append(word)

采用:

word_dict[len(word)] = word_dict[len(word)] + word

您這里唯一的問題是將值設置為字符串,即“ word”。 該錯誤是因為您不能在字符串中附加元素,所以唯一要做的就是確保將值設置為列表。 您可以將元素追加到列表中。

在第一句話:

如果len(word)== int(wordLength):

  if len(word) in word_dict: word_dict[len(word)] = word_dict[len(word)].append(word) else: word_dict[len(word)] = [word] 

打印word_dict

暫無
暫無

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

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