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
答案 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