Python AttributeError:'dict'对象没有属性'append'

时间:2018-01-12 21:50:16

标签: python dictionary for-loop tuples

我正在创建一个循环,以便将用户输入的值连续追加到字典中,但是我收到了这个错误:

AttributeError: 'dict' object has no attribute 'append'

到目前为止,这是我的代码:

    for index, elem in enumerate(main_feeds):
        print(index,":",elem)
        temp_list = index,":",elem
    li = {}
    print_user_areas(li)

    while True:
        n = (input('\nGive number: '))


        if n == "":
          break
        else:
             if n.isdigit():
               n=int(n)
               print('\n')
               print (main_feeds[n])

               temp = main_feeds[n]
               for item in user:


                  user['areas'].append[temp]

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

与错误消息一样,Python中的字典不提供追加操作。

您只需在字典中为其各自的键指定新值即可。

mydict = {}
mydict['item'] = input_value

如果您想要在输入值时附加值,则可以改为使用列表。

mylist = []
mylist.append(input_value)

您的行user['areas'].append[temp]看起来正在尝试以密钥'areas'的值访问字典,如果您改为使用列表,则应该能够执行追加操作。

改为使用列表:

user['areas'] = []

在这方面,您可能想要查看使用defaultdict(list)解决问题的可能性。 See here

答案 1 :(得分:0)

如果尚未将密钥添加到字典,请使用dict.setdefault():

dict.setdefault(key,[]).append(value)

或使用(如果您已经设置了密钥):

dict[key].append(value)

来源:stackoverflow答案