ユーザー入力から辞書に継続的に値を追加するためにループを作成していますが、次のエラーが発生します。
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]
何か案は?
エラーメッセージが示唆するように、Pythonの辞書は追加操作を提供しません。
代わりに、辞書のそれぞれのキーに新しい値を割り当てることができます。
_mydict = {}
mydict['item'] = input_value
_
入力時に値を追加したい場合は、代わりにリストを使用できます。
_mylist = []
mylist.append(input_value)
_
行_user['areas'].append[temp]
_は、キー_'areas'
_の値で辞書にアクセスしようとしているように見えます。代わりにリストを使用する場合は、追加操作を実行できるはずです。
代わりにリストを使用:
_user['areas'] = []
_
その点については、問題に対してdefaultdict(list)
を使用する可能性を確認することをお勧めします。 こちらをご覧ください