gpt4 book ai didi

python - 将字典附加到列表

转载 作者:行者123 更新时间:2023-11-28 21:24:48 24 4
gpt4 key购买 nike

我正在为我所在的机器人团队编写一个程序,以便在比赛期间收集数据,以找到最好的“联盟”团队。它需要收集大约 20 个值,并且需要能够按各种参数列出数据。我已经完成了很多框架,但似乎当我将数据附加到列表时,它会将所有条目更改为我附加时的状态。

例如,如果我有

data = [{"teamNumber":1345,"teamName":"Blah"}]

并尝试追加

{"teamNumber":3219,"teamName":"TREAD"}

使用 append() 到数据我最终得到

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)

我不知道是什么原因,尽管答案很可能非常明显,但我看不到问题所在。

无论如何,非常感谢任何能帮助我解决这个问题的人的建议!

最佳答案

您需要先学习一些 Python 基础知识:

temp = dataTemplate

不会将 dataTemplate 复制到新变量 temp!相反,它为您命名为“dataTemplate”的原始字典提供了别名“temp”。每次编写 temp[ .. ] = 时都会修改同一个原始字典,因为“temp”只是“dataTemplate”的别名。

你想要

temp = dataTemplate.copy()

关于python - 将字典附加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15454453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com