我无法使代码正常工作。我只发布相关的代码部分。
我正在使用的文件位于此页https://programmeerimine.cs.ut.ee/_downloads/lapsed.txt
第一个数字是父母,第二个是他的孩子。我也有不同的文件,将数字翻译成名称。 (我做了列表ID_name它检查工作正常)
代码的其他部分工作正常,除非我尝试为现有密钥添加值。我收到错误AttributeError: 'str' object has no attribute 'append'
for line in f:
part=line.split(" ")
parent=part[0]
kid=part[1].strip()
for el in ID_name:
if parent == el[0]:
parent=el[1]
if kid == el[0]:
kid=el[1]
if parent not in parents.keys():
parents[parent]=kid
else:
parents[parent].append(kid)
答案 0 :(得分:1)
您引用的附加功能仅适用于列表:https://docs.python.org/2/tutorial/datastructures.html
如果要将新的键/值对添加到词典中,请使用:dictionary [' key'] = value。
您还可以选择:dictionary.update({' key':value}),这适用于一次添加多个键/值对。
答案 1 :(得分:0)
您需要初始化list
而不是仅添加对象。改变这个:
parents[parent]=kid
到此:
parents[parent] = [kid]
这将为您提供一个list
,您可以append()
新对象,而不仅仅是一个字符串。