当你收藏了像人物,街道,爱尔兰舞蹈团等具有某种名称标识符的对象时,将它存储在地图中被认为是可以的,或者它被认为是不好的做法,我应该只是将它存储作为列表并每次查询列表?在地图中包含对象的“名称”是否很糟糕?
Ex。
class Person:
def __init__(self,name,age):
self.name=name
self.age=age
a = [Person("karl",50),Person("abe",20)]
vs
b = {"karl" : Person("karl",50), "abe" : Person("abe",20)}
编辑: 假设独特性,速度的担忧可能是关注的,但一般清晰度的目标。
这取决于。名称是否保证是唯一的?你是否经常看名人? – cdhowie
地图是一个抽象的概念。如果您按名称或使用其他类型的键查找事物,则您有一张地图(或者一个多图,如果这些键不唯一)。您可以使用列表来实现地图概念,这很简单但效率很低。或者您可以使用语言/库附带的高效的现成地图实现(这是您通常应该做的,除非您有一个非常好的理由)。 –
为什么要使用列表而不是地图?搜索列表如何提高清晰度? – Marcin