Python字典附加

时间:2016-05-02 11:03:58

标签: python dictionary

我无法使代码正常工作。我只发布相关的代码部分。 我正在使用的文件位于此页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)

2 个答案:

答案 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()新对象,而不仅仅是一个字符串。