我正试图循环使用第一个单词作为键,使用前面的单词作为一个值(如google的基本python练习:https://developers.google.com/edu/python/exercises/basic),循环一组拆分词来生成字典。
我收到了错误消息:"AttributeError:'str‘对象没有属性'append'“,代码如下:
def mimic_dict(filename):
"""Returns mimic dict mapping each word to list of words which follow it."""
mimic = {}
f = open(filename, 'r')
fulltext = f.read()
splittext = fulltext.split(' ')
for c in range(len(splittext)-1):
if splittext[c] in mimic:
#Error on the next line
mimic[splittext[c]].append(splittext[c+1])
else:
mimic[splittext[c]] = splittext[c+1]我一直试图在这里使用这种方法:Appending values to dictionary in Python,但没有成功。我确信我的错误很简单,但我似乎花了很长时间在这个问题上。任何帮助都将不胜感激!
发布于 2015-08-08 20:35:54
splittext[c]是一个字符串,您正在尝试追加它(当然,这是失败的)。
你是想在最后一行说mimic[splittext[c]] = [splittext[c+1]]吗?注意角括号,您需要在list字典中添加一个mimic,以便稍后向它添加更多的元素。
发布于 2015-08-08 20:40:24
您正在尝试在.append()上使用splittext[c],它是list splittext的索引c中包含的字符串。不能对字符串使用.append()。
https://stackoverflow.com/questions/31898289
复制相似问题