Я в процессе написания программы для команды робототехники. Я не вправе собирать данные во время соревнований, чтобы найти лучшую команду для «альянса». Он должен собирать около 20 значений и должен иметь возможность перечислить данные по различным параметрам. У меня много каркаса, но похоже, что когда я добавляю свои данные в список, он будет изменять все записи до добавления.Добавление дикта в список
Например, если у меня есть
data = [{"teamNumber":1345,"teamName":"Blah"}]
и попытаться добавить
{"teamNumber":3219,"teamName":"TREAD"}
к данным с помощью добавления() я в конечном итоге с
data = [{"teamNumber":3219,"teamName":"TREAD"},{"teamNumber":3219,"teamName":"TREAD"}]
В настоящее время мы добавляем данные используя эту функцию (у нее большая часть ненужного «мяса» обрезана)
def inputTeamData():
global data
clear()
temp = dataTemplate
temp["teamNumber"] = question("Team Number?: ")
temp["teamName"] = question("Team Name?: ")
temp["foundingSeason"] = question("Founding Season?: ")
save = question("Is the above data correct?(y/n): ")
if save.lower() == "y":
try:
data.append(temp)
except ValueError:
print "ValueError. You gave me the wrong data types"
sleep(1)
else:
print "Not saved"
sleep(.8)
Я не знаю, что дает, хотя ответ более чем вероятно будет глупо очевидным, я не вижу, чтобы найти проблему.
В любом случае, большое спасибо в консультации тем, кто может мне помочь!
ваш упрощенный пример не показывает ошибку. Повторите попытку – Vorsprung
. В чем смысл всей вещи 'temp = dataTemplate'? Я проверил ваш код с 'temp = {}', и он работает достаточно хорошо. Помните, что ключи в словарях (обычно, в вашем случае не обязательно) должны быть созданы, прежде чем добавлять к ним данные. – msvalkon