I am creating a loop in order to append continuously values from user input to a dictionary but i am getting this error:
AttributeError: 'dict' object has no attribute 'append'
This is my code so far:
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]
Any ideas?
Kenil Vasani
Like the error message suggests, dictionaries in Python do not provide an append operation.
You can instead just assign new values to their respective keys in a dictionary.
If you’re wanting to append values as they’re entered you could instead use a list.
Your line
user['areas'].append[temp]
looks like it is attempting to access a dictionary at the value of key'areas'
, if you instead use a list you should be able to perform an append operation.Using a list instead:
On that note, you might want to check out the possibility of using a
defaultdict(list)
for your problem. See here