![](/img/trans.png)
[英]Problems finding key/appending multiple values to a key in dictionary (python)
[英]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.