Python 三重数据的结构是什么?

2 投票
4 回答
3129 浏览
提问于 2025-04-16 00:06

我有一组数据,这些数据有三个属性,分别是A、B和C,其中A可以看作是一个索引(也就是说,A用来查找另外两个属性B和C)。那么,针对这样的数据,最好的数据结构是什么呢?

我使用了两个字典,以A作为每个字典的索引。但是,当查询的数据中没有与A匹配的项时,就会出现键错误。

4 个回答

2

除了使用一个包含元组的字典,你还可以用一个对象来存储B和C:

class Thing:
    def __init__(self, B=None, C=None):
        self.B = B
        self.C = C

stuff = {A1: Thing(B1, C1)}
B1 = stuff[A1].B

processTriple(A1, stuff[A1].B, stuff[A1].C)

nothing = stuff.get(A2)

虽然这样做稍微有点浪费,但你也可以把A存储在这个对象里,这样每个实例就能代表一个完整的三元组。这样你就可以比上面的例子更有效地传递这些数据。

3

你可以用一个字典,把A作为键,然后把字典里的值设置成一个包含两个元素的元组或者列表吗?如果你在处理这些数据时有一致的方式,也可以考虑把一个有两个属性的类存储在字典里。

3
AtoB = {"A1":"B1", "A2":"B2"}
AtoB.get("A3", None)
=> None

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。

撰写回答