将多个值附加到字典中的键

时间:2014-03-16 23:26:09

标签: python dictionary append

lst是一个字符串列表。

我一直收到错误,说append对字符串类型不起作用。 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

3 个答案:

答案 0 :(得分:1)

将值设为单词列表。 collections.defaultdict(list)可以自动执行此操作:

word_dict = collections.defaultdict(list)

...

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

这里唯一的问题是您将值设置为字符串,即' word'。该错误是因为您无法在字符串中追加元素,因此您唯一要做的就是确保将值设置为列表。您可以将元素附加到列表中。

  

代表lst:

     

如果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