Python 三重数据的结构是什么?
我有一组数据,这些数据有三个属性,分别是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
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。