gpt4 book ai didi

Python用多个字典组织数据

转载 作者:行者123 更新时间:2023-11-28 16:54:49 28 4
gpt4 key购买 nike

我正在尝试创建一个小型服务器类型的应用程序,并且有一个关于使用字典组织数据的问题。现在我正在使用连接套接字对数据进行分组(主要是为了验证数据的来源以及将数据发回)。像这样:connected[socket] = account_data。基本上,每个关联人都会有帐户数据。由于某些字段将经常用于比较和检查信息,例如帐户 ID,因此我想使用另一个字典来加快速度。

例如:要用上述方法找到一个accountID,我将不得不使用for循环遍历connected中的所有可用连接,查看每个account_data中的accountID,然后进行比较。这似乎是一种缓慢的方法。如果我可以创建一个字典并使用 accountID 作为键,我认为它可以加快速度。问题是,我计划使用 3 个不同的命令,所有命令都不同。一些数据可能会经常变化,一旦信息变化,更新每个字典似乎更麻烦;无论如何要将它们链接在一起?

也许尝试解释我的问题的一种更简单的方法是:你有字典 A、字典 B、字典 C 和数据。 Dict A、B 和 C 都包含相同的数据。我想要它,所以如果数据发生变化,Dict A、B 和 C 中的数据都会发生变化。我当然可以总是执行 dict A = data、dict B = data 等,但过一会儿代码会重复。我知道数据是在创建字典后设置的,所以我不确定是否有解决方案。我只是在寻找有关在这种情况下组织数据的最佳方式的建议。

最佳答案

首先,不需要复制数据。您可以拥有 3 个字典,每个字典使用不同的键,但具有与其值相同的引用。

这样做你只需要更改值对象一次,这将反射(reflect)在所有字典中(或者更准确地说,因为字典只存储一个引用,它们将是最新的)。

接下来您需要确保“引用完整性”,即如果删除了特定记录,则需要在所有 3 个词典中删除相应的词典条目,并且,如果记录被修改,则具有现在更改的键的词典还需要删除记录并在新 key 下重新添加。这可以通过包含所有 3 个字典并具有 Add()、Remove() 和(如果适用)Update() 方法的类来完成。

关于Python用多个字典组织数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1719742/

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